java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loops/eureka_05_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-18e5b2d-m [2018-11-18 23:57:58,384 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-18 23:57:58,386 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-18 23:57:58,398 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-18 23:57:58,398 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-18 23:57:58,399 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-18 23:57:58,401 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-18 23:57:58,402 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-18 23:57:58,404 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-18 23:57:58,405 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-18 23:57:58,406 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-18 23:57:58,406 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-18 23:57:58,407 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-18 23:57:58,408 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-18 23:57:58,409 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-18 23:57:58,410 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-18 23:57:58,411 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-18 23:57:58,413 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-18 23:57:58,415 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-18 23:57:58,416 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-18 23:57:58,417 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-18 23:57:58,418 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-18 23:57:58,421 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-18 23:57:58,421 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-18 23:57:58,421 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-18 23:57:58,422 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-18 23:57:58,423 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-18 23:57:58,424 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-18 23:57:58,425 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-18 23:57:58,426 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-18 23:57:58,426 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-18 23:57:58,427 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-18 23:57:58,427 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-18 23:57:58,427 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-18 23:57:58,429 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-18 23:57:58,429 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-18 23:57:58,430 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-18 23:57:58,444 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-18 23:57:58,445 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-18 23:57:58,446 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-18 23:57:58,446 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-18 23:57:58,446 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-18 23:57:58,447 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-18 23:57:58,447 INFO L133 SettingsManager]: * Use SBE=true [2018-11-18 23:57:58,447 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-18 23:57:58,447 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-18 23:57:58,448 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-18 23:57:58,448 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-18 23:57:58,448 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-18 23:57:58,448 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-18 23:57:58,448 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-18 23:57:58,448 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-18 23:57:58,449 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-18 23:57:58,449 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-18 23:57:58,449 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-18 23:57:58,449 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-18 23:57:58,449 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-18 23:57:58,450 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-18 23:57:58,450 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-18 23:57:58,450 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-18 23:57:58,450 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:57:58,450 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-18 23:57:58,450 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-18 23:57:58,451 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-18 23:57:58,451 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-18 23:57:58,451 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-18 23:57:58,451 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-18 23:57:58,451 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-18 23:57:58,494 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-18 23:57:58,507 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-18 23:57:58,511 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-18 23:57:58,512 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-18 23:57:58,513 INFO L276 PluginConnector]: CDTParser initialized [2018-11-18 23:57:58,514 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/eureka_05_true-unreach-call_true-termination.i [2018-11-18 23:57:58,569 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5ae111d44/0bf3aa1515ba4cd8a11c99afab7c125a/FLAG8d7f8d538 [2018-11-18 23:57:59,060 INFO L307 CDTParser]: Found 1 translation units. [2018-11-18 23:57:59,061 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05_true-unreach-call_true-termination.i [2018-11-18 23:57:59,068 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5ae111d44/0bf3aa1515ba4cd8a11c99afab7c125a/FLAG8d7f8d538 [2018-11-18 23:57:59,382 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5ae111d44/0bf3aa1515ba4cd8a11c99afab7c125a [2018-11-18 23:57:59,391 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-18 23:57:59,392 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-18 23:57:59,393 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-18 23:57:59,394 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-18 23:57:59,399 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-18 23:57:59,401 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,404 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2edc34c4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59, skipping insertion in model container [2018-11-18 23:57:59,405 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,416 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-18 23:57:59,446 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-18 23:57:59,661 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:57:59,671 INFO L191 MainTranslator]: Completed pre-run [2018-11-18 23:57:59,700 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:57:59,723 INFO L195 MainTranslator]: Completed translation [2018-11-18 23:57:59,723 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59 WrapperNode [2018-11-18 23:57:59,724 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-18 23:57:59,724 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-18 23:57:59,725 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-18 23:57:59,725 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-18 23:57:59,738 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,739 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,749 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,749 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,762 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,770 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,772 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (1/1) ... [2018-11-18 23:57:59,774 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-18 23:57:59,775 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-18 23:57:59,775 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-18 23:57:59,775 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-18 23:57:59,776 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (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-11-18 23:57:59,905 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-18 23:57:59,905 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-18 23:57:59,905 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-18 23:57:59,905 INFO L138 BoogieDeclarations]: Found implementation of procedure SelectionSort [2018-11-18 23:57:59,905 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-18 23:57:59,905 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-18 23:57:59,906 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-18 23:57:59,906 INFO L130 BoogieDeclarations]: Found specification of procedure SelectionSort [2018-11-18 23:57:59,906 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-18 23:57:59,906 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-18 23:57:59,906 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-18 23:57:59,906 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-18 23:57:59,907 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-18 23:57:59,907 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-18 23:57:59,907 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-18 23:57:59,907 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-18 23:58:00,664 INFO L280 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-18 23:58:00,665 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:58:00 BoogieIcfgContainer [2018-11-18 23:58:00,665 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-18 23:58:00,666 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-18 23:58:00,666 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-18 23:58:00,669 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-18 23:58:00,670 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.11 11:57:59" (1/3) ... [2018-11-18 23:58:00,670 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@10b63564 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:58:00, skipping insertion in model container [2018-11-18 23:58:00,671 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:57:59" (2/3) ... [2018-11-18 23:58:00,671 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@10b63564 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:58:00, skipping insertion in model container [2018-11-18 23:58:00,671 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:58:00" (3/3) ... [2018-11-18 23:58:00,673 INFO L112 eAbstractionObserver]: Analyzing ICFG eureka_05_true-unreach-call_true-termination.i [2018-11-18 23:58:00,681 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-18 23:58:00,689 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-18 23:58:00,704 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-18 23:58:00,750 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-18 23:58:00,750 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-18 23:58:00,750 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-18 23:58:00,751 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-18 23:58:00,751 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-18 23:58:00,751 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-18 23:58:00,751 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-18 23:58:00,751 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-18 23:58:00,752 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-18 23:58:00,770 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states. [2018-11-18 23:58:00,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-18 23:58:00,776 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:00,777 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:00,779 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:00,786 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:00,786 INFO L82 PathProgramCache]: Analyzing trace with hash -1564874495, now seen corresponding path program 1 times [2018-11-18 23:58:00,788 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:00,789 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:00,841 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:00,841 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:00,841 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:00,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:00,954 INFO L256 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {41#true} is VALID [2018-11-18 23:58:00,959 INFO L273 TraceCheckUtils]: 1: Hoare triple {41#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {41#true} is VALID [2018-11-18 23:58:00,960 INFO L273 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2018-11-18 23:58:00,961 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #88#return; {41#true} is VALID [2018-11-18 23:58:00,961 INFO L256 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret9 := main(); {41#true} is VALID [2018-11-18 23:58:00,961 INFO L273 TraceCheckUtils]: 5: Hoare triple {41#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {41#true} is VALID [2018-11-18 23:58:00,963 INFO L273 TraceCheckUtils]: 6: Hoare triple {41#true} assume !true; {42#false} is VALID [2018-11-18 23:58:00,963 INFO L256 TraceCheckUtils]: 7: Hoare triple {42#false} call SelectionSort(); {41#true} is VALID [2018-11-18 23:58:00,963 INFO L273 TraceCheckUtils]: 8: Hoare triple {41#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {41#true} is VALID [2018-11-18 23:58:00,964 INFO L273 TraceCheckUtils]: 9: Hoare triple {41#true} assume !true; {41#true} is VALID [2018-11-18 23:58:00,964 INFO L273 TraceCheckUtils]: 10: Hoare triple {41#true} assume true; {41#true} is VALID [2018-11-18 23:58:00,964 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {41#true} {42#false} #92#return; {42#false} is VALID [2018-11-18 23:58:00,964 INFO L273 TraceCheckUtils]: 12: Hoare triple {42#false} ~i~1 := 0; {42#false} is VALID [2018-11-18 23:58:00,965 INFO L273 TraceCheckUtils]: 13: Hoare triple {42#false} assume true; {42#false} is VALID [2018-11-18 23:58:00,965 INFO L273 TraceCheckUtils]: 14: Hoare triple {42#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {42#false} is VALID [2018-11-18 23:58:00,965 INFO L256 TraceCheckUtils]: 15: Hoare triple {42#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {42#false} is VALID [2018-11-18 23:58:00,966 INFO L273 TraceCheckUtils]: 16: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2018-11-18 23:58:00,967 INFO L273 TraceCheckUtils]: 17: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2018-11-18 23:58:00,968 INFO L273 TraceCheckUtils]: 18: Hoare triple {42#false} assume !false; {42#false} is VALID [2018-11-18 23:58:00,972 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:58:00,974 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:58:00,975 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-18 23:58:00,980 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-18 23:58:00,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:00,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-18 23:58:01,191 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:01,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-18 23:58:01,202 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-18 23:58:01,203 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:58:01,206 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 2 states. [2018-11-18 23:58:01,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:01,411 INFO L93 Difference]: Finished difference Result 67 states and 85 transitions. [2018-11-18 23:58:01,412 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-18 23:58:01,412 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-18 23:58:01,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:01,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:58:01,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 85 transitions. [2018-11-18 23:58:01,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:58:01,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 85 transitions. [2018-11-18 23:58:01,443 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 85 transitions. [2018-11-18 23:58:01,709 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:01,723 INFO L225 Difference]: With dead ends: 67 [2018-11-18 23:58:01,724 INFO L226 Difference]: Without dead ends: 33 [2018-11-18 23:58:01,728 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:58:01,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-18 23:58:01,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2018-11-18 23:58:01,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:01,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 33 states. [2018-11-18 23:58:01,928 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2018-11-18 23:58:01,929 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2018-11-18 23:58:01,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:01,940 INFO L93 Difference]: Finished difference Result 33 states and 37 transitions. [2018-11-18 23:58:01,940 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-18 23:58:01,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:01,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:01,941 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2018-11-18 23:58:01,941 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2018-11-18 23:58:01,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:01,949 INFO L93 Difference]: Finished difference Result 33 states and 37 transitions. [2018-11-18 23:58:01,949 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-18 23:58:01,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:01,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:01,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:01,952 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:01,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-18 23:58:01,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2018-11-18 23:58:01,959 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 19 [2018-11-18 23:58:01,959 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:01,960 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2018-11-18 23:58:01,960 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-18 23:58:01,960 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-18 23:58:01,961 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-18 23:58:01,961 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:01,961 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:01,964 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:01,964 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:01,965 INFO L82 PathProgramCache]: Analyzing trace with hash 1623438586, now seen corresponding path program 1 times [2018-11-18 23:58:01,965 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:01,965 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:01,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:01,966 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:01,967 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:01,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:02,055 INFO L256 TraceCheckUtils]: 0: Hoare triple {242#true} call ULTIMATE.init(); {242#true} is VALID [2018-11-18 23:58:02,056 INFO L273 TraceCheckUtils]: 1: Hoare triple {242#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {242#true} is VALID [2018-11-18 23:58:02,056 INFO L273 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2018-11-18 23:58:02,057 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #88#return; {242#true} is VALID [2018-11-18 23:58:02,057 INFO L256 TraceCheckUtils]: 4: Hoare triple {242#true} call #t~ret9 := main(); {242#true} is VALID [2018-11-18 23:58:02,060 INFO L273 TraceCheckUtils]: 5: Hoare triple {242#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {244#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:02,066 INFO L273 TraceCheckUtils]: 6: Hoare triple {244#(<= 4 main_~i~1)} assume true; {244#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:02,069 INFO L273 TraceCheckUtils]: 7: Hoare triple {244#(<= 4 main_~i~1)} assume !(~i~1 >= 0); {243#false} is VALID [2018-11-18 23:58:02,069 INFO L256 TraceCheckUtils]: 8: Hoare triple {243#false} call SelectionSort(); {242#true} is VALID [2018-11-18 23:58:02,070 INFO L273 TraceCheckUtils]: 9: Hoare triple {242#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {242#true} is VALID [2018-11-18 23:58:02,070 INFO L273 TraceCheckUtils]: 10: Hoare triple {242#true} assume true; {242#true} is VALID [2018-11-18 23:58:02,070 INFO L273 TraceCheckUtils]: 11: Hoare triple {242#true} assume !(~lh~0 < ~n~0); {242#true} is VALID [2018-11-18 23:58:02,071 INFO L273 TraceCheckUtils]: 12: Hoare triple {242#true} assume true; {242#true} is VALID [2018-11-18 23:58:02,071 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {242#true} {243#false} #92#return; {243#false} is VALID [2018-11-18 23:58:02,072 INFO L273 TraceCheckUtils]: 14: Hoare triple {243#false} ~i~1 := 0; {243#false} is VALID [2018-11-18 23:58:02,072 INFO L273 TraceCheckUtils]: 15: Hoare triple {243#false} assume true; {243#false} is VALID [2018-11-18 23:58:02,072 INFO L273 TraceCheckUtils]: 16: Hoare triple {243#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {243#false} is VALID [2018-11-18 23:58:02,073 INFO L256 TraceCheckUtils]: 17: Hoare triple {243#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {243#false} is VALID [2018-11-18 23:58:02,073 INFO L273 TraceCheckUtils]: 18: Hoare triple {243#false} ~cond := #in~cond; {243#false} is VALID [2018-11-18 23:58:02,073 INFO L273 TraceCheckUtils]: 19: Hoare triple {243#false} assume 0 == ~cond; {243#false} is VALID [2018-11-18 23:58:02,074 INFO L273 TraceCheckUtils]: 20: Hoare triple {243#false} assume !false; {243#false} is VALID [2018-11-18 23:58:02,076 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:58:02,076 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:58:02,076 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:58:02,078 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2018-11-18 23:58:02,078 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:02,079 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:58:02,139 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:02,139 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:58:02,140 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:58:02,140 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:58:02,140 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand 3 states. [2018-11-18 23:58:02,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:02,730 INFO L93 Difference]: Finished difference Result 60 states and 68 transitions. [2018-11-18 23:58:02,731 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:58:02,731 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2018-11-18 23:58:02,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:02,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:58:02,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 68 transitions. [2018-11-18 23:58:02,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:58:02,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 68 transitions. [2018-11-18 23:58:02,739 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 68 transitions. [2018-11-18 23:58:02,904 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:02,906 INFO L225 Difference]: With dead ends: 60 [2018-11-18 23:58:02,906 INFO L226 Difference]: Without dead ends: 36 [2018-11-18 23:58:02,907 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:58:02,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-18 23:58:02,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 35. [2018-11-18 23:58:02,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:02,926 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 35 states. [2018-11-18 23:58:02,927 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 35 states. [2018-11-18 23:58:02,927 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 35 states. [2018-11-18 23:58:02,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:02,930 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2018-11-18 23:58:02,930 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2018-11-18 23:58:02,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:02,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:02,931 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 36 states. [2018-11-18 23:58:02,931 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 36 states. [2018-11-18 23:58:02,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:02,934 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2018-11-18 23:58:02,935 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2018-11-18 23:58:02,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:02,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:02,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:02,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:02,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-18 23:58:02,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 39 transitions. [2018-11-18 23:58:02,939 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 39 transitions. Word has length 21 [2018-11-18 23:58:02,939 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:02,939 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 39 transitions. [2018-11-18 23:58:02,939 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:58:02,939 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2018-11-18 23:58:02,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-18 23:58:02,941 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:02,941 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:02,941 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:02,941 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:02,942 INFO L82 PathProgramCache]: Analyzing trace with hash -1562767955, now seen corresponding path program 1 times [2018-11-18 23:58:02,942 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:02,942 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:02,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:02,943 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:02,944 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:02,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:03,072 INFO L256 TraceCheckUtils]: 0: Hoare triple {447#true} call ULTIMATE.init(); {447#true} is VALID [2018-11-18 23:58:03,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {447#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {447#true} is VALID [2018-11-18 23:58:03,073 INFO L273 TraceCheckUtils]: 2: Hoare triple {447#true} assume true; {447#true} is VALID [2018-11-18 23:58:03,073 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {447#true} {447#true} #88#return; {447#true} is VALID [2018-11-18 23:58:03,074 INFO L256 TraceCheckUtils]: 4: Hoare triple {447#true} call #t~ret9 := main(); {447#true} is VALID [2018-11-18 23:58:03,075 INFO L273 TraceCheckUtils]: 5: Hoare triple {447#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {449#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:03,080 INFO L273 TraceCheckUtils]: 6: Hoare triple {449#(<= 4 main_~i~1)} assume true; {449#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:03,080 INFO L273 TraceCheckUtils]: 7: Hoare triple {449#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {449#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:03,082 INFO L273 TraceCheckUtils]: 8: Hoare triple {449#(<= 4 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {450#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:03,083 INFO L273 TraceCheckUtils]: 9: Hoare triple {450#(<= 3 main_~i~1)} assume true; {450#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:03,084 INFO L273 TraceCheckUtils]: 10: Hoare triple {450#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {448#false} is VALID [2018-11-18 23:58:03,084 INFO L256 TraceCheckUtils]: 11: Hoare triple {448#false} call SelectionSort(); {447#true} is VALID [2018-11-18 23:58:03,085 INFO L273 TraceCheckUtils]: 12: Hoare triple {447#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {447#true} is VALID [2018-11-18 23:58:03,085 INFO L273 TraceCheckUtils]: 13: Hoare triple {447#true} assume true; {447#true} is VALID [2018-11-18 23:58:03,086 INFO L273 TraceCheckUtils]: 14: Hoare triple {447#true} assume !(~lh~0 < ~n~0); {447#true} is VALID [2018-11-18 23:58:03,086 INFO L273 TraceCheckUtils]: 15: Hoare triple {447#true} assume true; {447#true} is VALID [2018-11-18 23:58:03,087 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {447#true} {448#false} #92#return; {448#false} is VALID [2018-11-18 23:58:03,088 INFO L273 TraceCheckUtils]: 17: Hoare triple {448#false} ~i~1 := 0; {448#false} is VALID [2018-11-18 23:58:03,088 INFO L273 TraceCheckUtils]: 18: Hoare triple {448#false} assume true; {448#false} is VALID [2018-11-18 23:58:03,088 INFO L273 TraceCheckUtils]: 19: Hoare triple {448#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {448#false} is VALID [2018-11-18 23:58:03,089 INFO L256 TraceCheckUtils]: 20: Hoare triple {448#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {448#false} is VALID [2018-11-18 23:58:03,089 INFO L273 TraceCheckUtils]: 21: Hoare triple {448#false} ~cond := #in~cond; {448#false} is VALID [2018-11-18 23:58:03,089 INFO L273 TraceCheckUtils]: 22: Hoare triple {448#false} assume 0 == ~cond; {448#false} is VALID [2018-11-18 23:58:03,090 INFO L273 TraceCheckUtils]: 23: Hoare triple {448#false} assume !false; {448#false} is VALID [2018-11-18 23:58:03,091 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:58:03,092 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:03,092 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:03,103 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:03,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:03,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:03,165 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:03,315 INFO L256 TraceCheckUtils]: 0: Hoare triple {447#true} call ULTIMATE.init(); {447#true} is VALID [2018-11-18 23:58:03,316 INFO L273 TraceCheckUtils]: 1: Hoare triple {447#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {447#true} is VALID [2018-11-18 23:58:03,316 INFO L273 TraceCheckUtils]: 2: Hoare triple {447#true} assume true; {447#true} is VALID [2018-11-18 23:58:03,317 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {447#true} {447#true} #88#return; {447#true} is VALID [2018-11-18 23:58:03,318 INFO L256 TraceCheckUtils]: 4: Hoare triple {447#true} call #t~ret9 := main(); {447#true} is VALID [2018-11-18 23:58:03,320 INFO L273 TraceCheckUtils]: 5: Hoare triple {447#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {449#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:03,321 INFO L273 TraceCheckUtils]: 6: Hoare triple {449#(<= 4 main_~i~1)} assume true; {449#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:03,322 INFO L273 TraceCheckUtils]: 7: Hoare triple {449#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {449#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:03,333 INFO L273 TraceCheckUtils]: 8: Hoare triple {449#(<= 4 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {450#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:03,347 INFO L273 TraceCheckUtils]: 9: Hoare triple {450#(<= 3 main_~i~1)} assume true; {450#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:03,356 INFO L273 TraceCheckUtils]: 10: Hoare triple {450#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {448#false} is VALID [2018-11-18 23:58:03,357 INFO L256 TraceCheckUtils]: 11: Hoare triple {448#false} call SelectionSort(); {448#false} is VALID [2018-11-18 23:58:03,357 INFO L273 TraceCheckUtils]: 12: Hoare triple {448#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {448#false} is VALID [2018-11-18 23:58:03,357 INFO L273 TraceCheckUtils]: 13: Hoare triple {448#false} assume true; {448#false} is VALID [2018-11-18 23:58:03,358 INFO L273 TraceCheckUtils]: 14: Hoare triple {448#false} assume !(~lh~0 < ~n~0); {448#false} is VALID [2018-11-18 23:58:03,358 INFO L273 TraceCheckUtils]: 15: Hoare triple {448#false} assume true; {448#false} is VALID [2018-11-18 23:58:03,359 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {448#false} {448#false} #92#return; {448#false} is VALID [2018-11-18 23:58:03,359 INFO L273 TraceCheckUtils]: 17: Hoare triple {448#false} ~i~1 := 0; {448#false} is VALID [2018-11-18 23:58:03,359 INFO L273 TraceCheckUtils]: 18: Hoare triple {448#false} assume true; {448#false} is VALID [2018-11-18 23:58:03,359 INFO L273 TraceCheckUtils]: 19: Hoare triple {448#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {448#false} is VALID [2018-11-18 23:58:03,360 INFO L256 TraceCheckUtils]: 20: Hoare triple {448#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {448#false} is VALID [2018-11-18 23:58:03,360 INFO L273 TraceCheckUtils]: 21: Hoare triple {448#false} ~cond := #in~cond; {448#false} is VALID [2018-11-18 23:58:03,360 INFO L273 TraceCheckUtils]: 22: Hoare triple {448#false} assume 0 == ~cond; {448#false} is VALID [2018-11-18 23:58:03,361 INFO L273 TraceCheckUtils]: 23: Hoare triple {448#false} assume !false; {448#false} is VALID [2018-11-18 23:58:03,362 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:58:03,395 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:03,396 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 4 [2018-11-18 23:58:03,396 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-18 23:58:03,397 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:03,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-18 23:58:03,536 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:03,536 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-18 23:58:03,537 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-18 23:58:03,537 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-18 23:58:03,537 INFO L87 Difference]: Start difference. First operand 35 states and 39 transitions. Second operand 4 states. [2018-11-18 23:58:03,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:03,992 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2018-11-18 23:58:03,992 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-18 23:58:03,993 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-18 23:58:03,993 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:03,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:58:03,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 71 transitions. [2018-11-18 23:58:03,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:58:04,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 71 transitions. [2018-11-18 23:58:04,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 71 transitions. [2018-11-18 23:58:04,148 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:04,150 INFO L225 Difference]: With dead ends: 63 [2018-11-18 23:58:04,150 INFO L226 Difference]: Without dead ends: 39 [2018-11-18 23:58:04,151 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-18 23:58:04,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-18 23:58:04,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2018-11-18 23:58:04,177 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:04,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 38 states. [2018-11-18 23:58:04,177 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 38 states. [2018-11-18 23:58:04,178 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 38 states. [2018-11-18 23:58:04,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:04,180 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-18 23:58:04,180 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-18 23:58:04,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:04,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:04,181 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 39 states. [2018-11-18 23:58:04,181 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 39 states. [2018-11-18 23:58:04,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:04,184 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-18 23:58:04,184 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-18 23:58:04,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:04,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:04,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:04,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:04,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-18 23:58:04,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2018-11-18 23:58:04,188 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 24 [2018-11-18 23:58:04,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:04,189 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2018-11-18 23:58:04,189 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-18 23:58:04,189 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2018-11-18 23:58:04,190 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-18 23:58:04,190 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:04,190 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:04,191 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:04,191 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:04,191 INFO L82 PathProgramCache]: Analyzing trace with hash 1230378010, now seen corresponding path program 2 times [2018-11-18 23:58:04,191 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:04,191 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:04,193 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:04,193 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:04,193 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:04,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:04,292 INFO L256 TraceCheckUtils]: 0: Hoare triple {736#true} call ULTIMATE.init(); {736#true} is VALID [2018-11-18 23:58:04,293 INFO L273 TraceCheckUtils]: 1: Hoare triple {736#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {736#true} is VALID [2018-11-18 23:58:04,293 INFO L273 TraceCheckUtils]: 2: Hoare triple {736#true} assume true; {736#true} is VALID [2018-11-18 23:58:04,294 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {736#true} {736#true} #88#return; {736#true} is VALID [2018-11-18 23:58:04,294 INFO L256 TraceCheckUtils]: 4: Hoare triple {736#true} call #t~ret9 := main(); {736#true} is VALID [2018-11-18 23:58:04,295 INFO L273 TraceCheckUtils]: 5: Hoare triple {736#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {738#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:04,296 INFO L273 TraceCheckUtils]: 6: Hoare triple {738#(<= 4 main_~i~1)} assume true; {738#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:04,296 INFO L273 TraceCheckUtils]: 7: Hoare triple {738#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {738#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:04,297 INFO L273 TraceCheckUtils]: 8: Hoare triple {738#(<= 4 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {739#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:04,300 INFO L273 TraceCheckUtils]: 9: Hoare triple {739#(<= 3 main_~i~1)} assume true; {739#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:04,301 INFO L273 TraceCheckUtils]: 10: Hoare triple {739#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {739#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:04,305 INFO L273 TraceCheckUtils]: 11: Hoare triple {739#(<= 3 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {740#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:04,308 INFO L273 TraceCheckUtils]: 12: Hoare triple {740#(<= 2 main_~i~1)} assume true; {740#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:04,308 INFO L273 TraceCheckUtils]: 13: Hoare triple {740#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {737#false} is VALID [2018-11-18 23:58:04,309 INFO L256 TraceCheckUtils]: 14: Hoare triple {737#false} call SelectionSort(); {736#true} is VALID [2018-11-18 23:58:04,309 INFO L273 TraceCheckUtils]: 15: Hoare triple {736#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {736#true} is VALID [2018-11-18 23:58:04,309 INFO L273 TraceCheckUtils]: 16: Hoare triple {736#true} assume true; {736#true} is VALID [2018-11-18 23:58:04,309 INFO L273 TraceCheckUtils]: 17: Hoare triple {736#true} assume !(~lh~0 < ~n~0); {736#true} is VALID [2018-11-18 23:58:04,310 INFO L273 TraceCheckUtils]: 18: Hoare triple {736#true} assume true; {736#true} is VALID [2018-11-18 23:58:04,310 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {736#true} {737#false} #92#return; {737#false} is VALID [2018-11-18 23:58:04,310 INFO L273 TraceCheckUtils]: 20: Hoare triple {737#false} ~i~1 := 0; {737#false} is VALID [2018-11-18 23:58:04,311 INFO L273 TraceCheckUtils]: 21: Hoare triple {737#false} assume true; {737#false} is VALID [2018-11-18 23:58:04,311 INFO L273 TraceCheckUtils]: 22: Hoare triple {737#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {737#false} is VALID [2018-11-18 23:58:04,311 INFO L256 TraceCheckUtils]: 23: Hoare triple {737#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {737#false} is VALID [2018-11-18 23:58:04,312 INFO L273 TraceCheckUtils]: 24: Hoare triple {737#false} ~cond := #in~cond; {737#false} is VALID [2018-11-18 23:58:04,312 INFO L273 TraceCheckUtils]: 25: Hoare triple {737#false} assume 0 == ~cond; {737#false} is VALID [2018-11-18 23:58:04,312 INFO L273 TraceCheckUtils]: 26: Hoare triple {737#false} assume !false; {737#false} is VALID [2018-11-18 23:58:04,314 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:58:04,314 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:04,314 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:04,325 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:58:04,352 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-18 23:58:04,353 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:04,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:04,372 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:04,473 INFO L256 TraceCheckUtils]: 0: Hoare triple {736#true} call ULTIMATE.init(); {736#true} is VALID [2018-11-18 23:58:04,474 INFO L273 TraceCheckUtils]: 1: Hoare triple {736#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,474 INFO L273 TraceCheckUtils]: 2: Hoare triple {747#(<= 5 ~n~0)} assume true; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,475 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {747#(<= 5 ~n~0)} {736#true} #88#return; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,476 INFO L256 TraceCheckUtils]: 4: Hoare triple {747#(<= 5 ~n~0)} call #t~ret9 := main(); {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,477 INFO L273 TraceCheckUtils]: 5: Hoare triple {747#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,493 INFO L273 TraceCheckUtils]: 6: Hoare triple {747#(<= 5 ~n~0)} assume true; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,494 INFO L273 TraceCheckUtils]: 7: Hoare triple {747#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,496 INFO L273 TraceCheckUtils]: 8: Hoare triple {747#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,496 INFO L273 TraceCheckUtils]: 9: Hoare triple {747#(<= 5 ~n~0)} assume true; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,498 INFO L273 TraceCheckUtils]: 10: Hoare triple {747#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,499 INFO L273 TraceCheckUtils]: 11: Hoare triple {747#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,500 INFO L273 TraceCheckUtils]: 12: Hoare triple {747#(<= 5 ~n~0)} assume true; {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,504 INFO L273 TraceCheckUtils]: 13: Hoare triple {747#(<= 5 ~n~0)} assume !(~i~1 >= 0); {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,505 INFO L256 TraceCheckUtils]: 14: Hoare triple {747#(<= 5 ~n~0)} call SelectionSort(); {747#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:04,505 INFO L273 TraceCheckUtils]: 15: Hoare triple {747#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {790#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:04,506 INFO L273 TraceCheckUtils]: 16: Hoare triple {790#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {790#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:04,507 INFO L273 TraceCheckUtils]: 17: Hoare triple {790#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~lh~0 < ~n~0); {737#false} is VALID [2018-11-18 23:58:04,507 INFO L273 TraceCheckUtils]: 18: Hoare triple {737#false} assume true; {737#false} is VALID [2018-11-18 23:58:04,507 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {737#false} {747#(<= 5 ~n~0)} #92#return; {737#false} is VALID [2018-11-18 23:58:04,507 INFO L273 TraceCheckUtils]: 20: Hoare triple {737#false} ~i~1 := 0; {737#false} is VALID [2018-11-18 23:58:04,508 INFO L273 TraceCheckUtils]: 21: Hoare triple {737#false} assume true; {737#false} is VALID [2018-11-18 23:58:04,508 INFO L273 TraceCheckUtils]: 22: Hoare triple {737#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {737#false} is VALID [2018-11-18 23:58:04,508 INFO L256 TraceCheckUtils]: 23: Hoare triple {737#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {737#false} is VALID [2018-11-18 23:58:04,509 INFO L273 TraceCheckUtils]: 24: Hoare triple {737#false} ~cond := #in~cond; {737#false} is VALID [2018-11-18 23:58:04,509 INFO L273 TraceCheckUtils]: 25: Hoare triple {737#false} assume 0 == ~cond; {737#false} is VALID [2018-11-18 23:58:04,509 INFO L273 TraceCheckUtils]: 26: Hoare triple {737#false} assume !false; {737#false} is VALID [2018-11-18 23:58:04,512 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-18 23:58:04,532 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-18 23:58:04,533 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 7 [2018-11-18 23:58:04,533 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 27 [2018-11-18 23:58:04,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:04,534 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-18 23:58:04,616 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:04,616 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-18 23:58:04,616 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-18 23:58:04,617 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2018-11-18 23:58:04,617 INFO L87 Difference]: Start difference. First operand 38 states and 42 transitions. Second operand 7 states. [2018-11-18 23:58:05,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:05,116 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2018-11-18 23:58:05,116 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-18 23:58:05,116 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 27 [2018-11-18 23:58:05,117 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:05,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-18 23:58:05,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2018-11-18 23:58:05,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-18 23:58:05,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2018-11-18 23:58:05,124 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 86 transitions. [2018-11-18 23:58:05,321 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:05,325 INFO L225 Difference]: With dead ends: 74 [2018-11-18 23:58:05,325 INFO L226 Difference]: Without dead ends: 50 [2018-11-18 23:58:05,326 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:58:05,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-18 23:58:05,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 43. [2018-11-18 23:58:05,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:05,367 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 43 states. [2018-11-18 23:58:05,367 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 43 states. [2018-11-18 23:58:05,368 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 43 states. [2018-11-18 23:58:05,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:05,370 INFO L93 Difference]: Finished difference Result 50 states and 56 transitions. [2018-11-18 23:58:05,371 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 56 transitions. [2018-11-18 23:58:05,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:05,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:05,372 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 50 states. [2018-11-18 23:58:05,372 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 50 states. [2018-11-18 23:58:05,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:05,375 INFO L93 Difference]: Finished difference Result 50 states and 56 transitions. [2018-11-18 23:58:05,375 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 56 transitions. [2018-11-18 23:58:05,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:05,376 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:05,376 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:05,376 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:05,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-18 23:58:05,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2018-11-18 23:58:05,379 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 27 [2018-11-18 23:58:05,379 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:05,379 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2018-11-18 23:58:05,379 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-18 23:58:05,380 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2018-11-18 23:58:05,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-18 23:58:05,381 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:05,381 INFO L375 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:05,381 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:05,382 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:05,382 INFO L82 PathProgramCache]: Analyzing trace with hash 903313155, now seen corresponding path program 1 times [2018-11-18 23:58:05,382 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:05,382 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:05,383 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:05,383 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:05,383 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:05,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:05,512 INFO L256 TraceCheckUtils]: 0: Hoare triple {1086#true} call ULTIMATE.init(); {1086#true} is VALID [2018-11-18 23:58:05,513 INFO L273 TraceCheckUtils]: 1: Hoare triple {1086#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {1086#true} is VALID [2018-11-18 23:58:05,513 INFO L273 TraceCheckUtils]: 2: Hoare triple {1086#true} assume true; {1086#true} is VALID [2018-11-18 23:58:05,514 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1086#true} {1086#true} #88#return; {1086#true} is VALID [2018-11-18 23:58:05,514 INFO L256 TraceCheckUtils]: 4: Hoare triple {1086#true} call #t~ret9 := main(); {1086#true} is VALID [2018-11-18 23:58:05,515 INFO L273 TraceCheckUtils]: 5: Hoare triple {1086#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {1088#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:05,516 INFO L273 TraceCheckUtils]: 6: Hoare triple {1088#(<= 4 main_~i~1)} assume true; {1088#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:05,516 INFO L273 TraceCheckUtils]: 7: Hoare triple {1088#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1088#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:05,518 INFO L273 TraceCheckUtils]: 8: Hoare triple {1088#(<= 4 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1089#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:05,518 INFO L273 TraceCheckUtils]: 9: Hoare triple {1089#(<= 3 main_~i~1)} assume true; {1089#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:05,520 INFO L273 TraceCheckUtils]: 10: Hoare triple {1089#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1089#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:05,521 INFO L273 TraceCheckUtils]: 11: Hoare triple {1089#(<= 3 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1090#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:05,522 INFO L273 TraceCheckUtils]: 12: Hoare triple {1090#(<= 2 main_~i~1)} assume true; {1090#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:05,522 INFO L273 TraceCheckUtils]: 13: Hoare triple {1090#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1090#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:05,524 INFO L273 TraceCheckUtils]: 14: Hoare triple {1090#(<= 2 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1091#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:05,525 INFO L273 TraceCheckUtils]: 15: Hoare triple {1091#(<= 1 main_~i~1)} assume true; {1091#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:05,526 INFO L273 TraceCheckUtils]: 16: Hoare triple {1091#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {1087#false} is VALID [2018-11-18 23:58:05,526 INFO L256 TraceCheckUtils]: 17: Hoare triple {1087#false} call SelectionSort(); {1086#true} is VALID [2018-11-18 23:58:05,527 INFO L273 TraceCheckUtils]: 18: Hoare triple {1086#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1086#true} is VALID [2018-11-18 23:58:05,527 INFO L273 TraceCheckUtils]: 19: Hoare triple {1086#true} assume true; {1086#true} is VALID [2018-11-18 23:58:05,527 INFO L273 TraceCheckUtils]: 20: Hoare triple {1086#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1086#true} is VALID [2018-11-18 23:58:05,528 INFO L273 TraceCheckUtils]: 21: Hoare triple {1086#true} assume true; {1086#true} is VALID [2018-11-18 23:58:05,528 INFO L273 TraceCheckUtils]: 22: Hoare triple {1086#true} assume !(~i~0 < ~n~0); {1086#true} is VALID [2018-11-18 23:58:05,528 INFO L273 TraceCheckUtils]: 23: Hoare triple {1086#true} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1086#true} is VALID [2018-11-18 23:58:05,528 INFO L273 TraceCheckUtils]: 24: Hoare triple {1086#true} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {1086#true} is VALID [2018-11-18 23:58:05,529 INFO L273 TraceCheckUtils]: 25: Hoare triple {1086#true} assume true; {1086#true} is VALID [2018-11-18 23:58:05,529 INFO L273 TraceCheckUtils]: 26: Hoare triple {1086#true} assume !(~lh~0 < ~n~0); {1086#true} is VALID [2018-11-18 23:58:05,529 INFO L273 TraceCheckUtils]: 27: Hoare triple {1086#true} assume true; {1086#true} is VALID [2018-11-18 23:58:05,529 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1086#true} {1087#false} #92#return; {1087#false} is VALID [2018-11-18 23:58:05,529 INFO L273 TraceCheckUtils]: 29: Hoare triple {1087#false} ~i~1 := 0; {1087#false} is VALID [2018-11-18 23:58:05,530 INFO L273 TraceCheckUtils]: 30: Hoare triple {1087#false} assume true; {1087#false} is VALID [2018-11-18 23:58:05,530 INFO L273 TraceCheckUtils]: 31: Hoare triple {1087#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1087#false} is VALID [2018-11-18 23:58:05,530 INFO L256 TraceCheckUtils]: 32: Hoare triple {1087#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {1087#false} is VALID [2018-11-18 23:58:05,530 INFO L273 TraceCheckUtils]: 33: Hoare triple {1087#false} ~cond := #in~cond; {1087#false} is VALID [2018-11-18 23:58:05,530 INFO L273 TraceCheckUtils]: 34: Hoare triple {1087#false} assume 0 == ~cond; {1087#false} is VALID [2018-11-18 23:58:05,531 INFO L273 TraceCheckUtils]: 35: Hoare triple {1087#false} assume !false; {1087#false} is VALID [2018-11-18 23:58:05,533 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-18 23:58:05,533 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:05,534 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:05,548 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:05,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:05,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:05,602 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:05,688 INFO L256 TraceCheckUtils]: 0: Hoare triple {1086#true} call ULTIMATE.init(); {1086#true} is VALID [2018-11-18 23:58:05,688 INFO L273 TraceCheckUtils]: 1: Hoare triple {1086#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {1086#true} is VALID [2018-11-18 23:58:05,688 INFO L273 TraceCheckUtils]: 2: Hoare triple {1086#true} assume true; {1086#true} is VALID [2018-11-18 23:58:05,689 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1086#true} {1086#true} #88#return; {1086#true} is VALID [2018-11-18 23:58:05,689 INFO L256 TraceCheckUtils]: 4: Hoare triple {1086#true} call #t~ret9 := main(); {1086#true} is VALID [2018-11-18 23:58:05,689 INFO L273 TraceCheckUtils]: 5: Hoare triple {1086#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {1088#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:05,691 INFO L273 TraceCheckUtils]: 6: Hoare triple {1088#(<= 4 main_~i~1)} assume true; {1088#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:05,691 INFO L273 TraceCheckUtils]: 7: Hoare triple {1088#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1088#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:05,693 INFO L273 TraceCheckUtils]: 8: Hoare triple {1088#(<= 4 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1089#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:05,693 INFO L273 TraceCheckUtils]: 9: Hoare triple {1089#(<= 3 main_~i~1)} assume true; {1089#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:05,695 INFO L273 TraceCheckUtils]: 10: Hoare triple {1089#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1089#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:05,695 INFO L273 TraceCheckUtils]: 11: Hoare triple {1089#(<= 3 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1090#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:05,697 INFO L273 TraceCheckUtils]: 12: Hoare triple {1090#(<= 2 main_~i~1)} assume true; {1090#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:05,697 INFO L273 TraceCheckUtils]: 13: Hoare triple {1090#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1090#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:05,698 INFO L273 TraceCheckUtils]: 14: Hoare triple {1090#(<= 2 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1091#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:05,699 INFO L273 TraceCheckUtils]: 15: Hoare triple {1091#(<= 1 main_~i~1)} assume true; {1091#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:05,700 INFO L273 TraceCheckUtils]: 16: Hoare triple {1091#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {1087#false} is VALID [2018-11-18 23:58:05,700 INFO L256 TraceCheckUtils]: 17: Hoare triple {1087#false} call SelectionSort(); {1087#false} is VALID [2018-11-18 23:58:05,701 INFO L273 TraceCheckUtils]: 18: Hoare triple {1087#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1087#false} is VALID [2018-11-18 23:58:05,701 INFO L273 TraceCheckUtils]: 19: Hoare triple {1087#false} assume true; {1087#false} is VALID [2018-11-18 23:58:05,701 INFO L273 TraceCheckUtils]: 20: Hoare triple {1087#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1087#false} is VALID [2018-11-18 23:58:05,702 INFO L273 TraceCheckUtils]: 21: Hoare triple {1087#false} assume true; {1087#false} is VALID [2018-11-18 23:58:05,702 INFO L273 TraceCheckUtils]: 22: Hoare triple {1087#false} assume !(~i~0 < ~n~0); {1087#false} is VALID [2018-11-18 23:58:05,702 INFO L273 TraceCheckUtils]: 23: Hoare triple {1087#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1087#false} is VALID [2018-11-18 23:58:05,703 INFO L273 TraceCheckUtils]: 24: Hoare triple {1087#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {1087#false} is VALID [2018-11-18 23:58:05,703 INFO L273 TraceCheckUtils]: 25: Hoare triple {1087#false} assume true; {1087#false} is VALID [2018-11-18 23:58:05,703 INFO L273 TraceCheckUtils]: 26: Hoare triple {1087#false} assume !(~lh~0 < ~n~0); {1087#false} is VALID [2018-11-18 23:58:05,703 INFO L273 TraceCheckUtils]: 27: Hoare triple {1087#false} assume true; {1087#false} is VALID [2018-11-18 23:58:05,704 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1087#false} {1087#false} #92#return; {1087#false} is VALID [2018-11-18 23:58:05,704 INFO L273 TraceCheckUtils]: 29: Hoare triple {1087#false} ~i~1 := 0; {1087#false} is VALID [2018-11-18 23:58:05,704 INFO L273 TraceCheckUtils]: 30: Hoare triple {1087#false} assume true; {1087#false} is VALID [2018-11-18 23:58:05,705 INFO L273 TraceCheckUtils]: 31: Hoare triple {1087#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1087#false} is VALID [2018-11-18 23:58:05,705 INFO L256 TraceCheckUtils]: 32: Hoare triple {1087#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {1087#false} is VALID [2018-11-18 23:58:05,705 INFO L273 TraceCheckUtils]: 33: Hoare triple {1087#false} ~cond := #in~cond; {1087#false} is VALID [2018-11-18 23:58:05,705 INFO L273 TraceCheckUtils]: 34: Hoare triple {1087#false} assume 0 == ~cond; {1087#false} is VALID [2018-11-18 23:58:05,705 INFO L273 TraceCheckUtils]: 35: Hoare triple {1087#false} assume !false; {1087#false} is VALID [2018-11-18 23:58:05,707 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-18 23:58:05,729 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:05,729 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2018-11-18 23:58:05,730 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 36 [2018-11-18 23:58:05,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:05,732 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-18 23:58:05,791 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:05,791 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-18 23:58:05,791 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-18 23:58:05,791 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:58:05,792 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand 6 states. [2018-11-18 23:58:06,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:06,087 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2018-11-18 23:58:06,088 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-18 23:58:06,088 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 36 [2018-11-18 23:58:06,088 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:06,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:58:06,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 77 transitions. [2018-11-18 23:58:06,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:58:06,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 77 transitions. [2018-11-18 23:58:06,094 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 77 transitions. [2018-11-18 23:58:06,247 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:06,250 INFO L225 Difference]: With dead ends: 73 [2018-11-18 23:58:06,250 INFO L226 Difference]: Without dead ends: 47 [2018-11-18 23:58:06,251 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:58:06,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-18 23:58:06,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2018-11-18 23:58:06,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:06,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 46 states. [2018-11-18 23:58:06,320 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 46 states. [2018-11-18 23:58:06,320 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 46 states. [2018-11-18 23:58:06,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:06,323 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2018-11-18 23:58:06,323 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2018-11-18 23:58:06,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:06,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:06,324 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 47 states. [2018-11-18 23:58:06,324 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 47 states. [2018-11-18 23:58:06,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:06,327 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2018-11-18 23:58:06,327 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2018-11-18 23:58:06,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:06,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:06,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:06,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:06,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-18 23:58:06,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2018-11-18 23:58:06,334 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 36 [2018-11-18 23:58:06,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:06,334 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2018-11-18 23:58:06,334 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-18 23:58:06,334 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2018-11-18 23:58:06,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-18 23:58:06,335 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:06,336 INFO L375 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:06,336 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:06,336 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:06,336 INFO L82 PathProgramCache]: Analyzing trace with hash -1572584976, now seen corresponding path program 2 times [2018-11-18 23:58:06,336 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:06,337 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:06,337 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:06,338 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:06,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:06,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:06,548 INFO L256 TraceCheckUtils]: 0: Hoare triple {1454#true} call ULTIMATE.init(); {1454#true} is VALID [2018-11-18 23:58:06,548 INFO L273 TraceCheckUtils]: 1: Hoare triple {1454#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {1454#true} is VALID [2018-11-18 23:58:06,549 INFO L273 TraceCheckUtils]: 2: Hoare triple {1454#true} assume true; {1454#true} is VALID [2018-11-18 23:58:06,549 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1454#true} {1454#true} #88#return; {1454#true} is VALID [2018-11-18 23:58:06,549 INFO L256 TraceCheckUtils]: 4: Hoare triple {1454#true} call #t~ret9 := main(); {1454#true} is VALID [2018-11-18 23:58:06,554 INFO L273 TraceCheckUtils]: 5: Hoare triple {1454#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {1456#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:06,556 INFO L273 TraceCheckUtils]: 6: Hoare triple {1456#(<= 4 main_~i~1)} assume true; {1456#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:06,556 INFO L273 TraceCheckUtils]: 7: Hoare triple {1456#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1456#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:06,557 INFO L273 TraceCheckUtils]: 8: Hoare triple {1456#(<= 4 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1457#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:06,562 INFO L273 TraceCheckUtils]: 9: Hoare triple {1457#(<= 3 main_~i~1)} assume true; {1457#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:06,562 INFO L273 TraceCheckUtils]: 10: Hoare triple {1457#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1457#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:06,564 INFO L273 TraceCheckUtils]: 11: Hoare triple {1457#(<= 3 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1458#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:06,564 INFO L273 TraceCheckUtils]: 12: Hoare triple {1458#(<= 2 main_~i~1)} assume true; {1458#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:06,565 INFO L273 TraceCheckUtils]: 13: Hoare triple {1458#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1458#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:06,566 INFO L273 TraceCheckUtils]: 14: Hoare triple {1458#(<= 2 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1459#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:06,570 INFO L273 TraceCheckUtils]: 15: Hoare triple {1459#(<= 1 main_~i~1)} assume true; {1459#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:06,570 INFO L273 TraceCheckUtils]: 16: Hoare triple {1459#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1459#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:06,571 INFO L273 TraceCheckUtils]: 17: Hoare triple {1459#(<= 1 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1460#(<= 0 main_~i~1)} is VALID [2018-11-18 23:58:06,573 INFO L273 TraceCheckUtils]: 18: Hoare triple {1460#(<= 0 main_~i~1)} assume true; {1460#(<= 0 main_~i~1)} is VALID [2018-11-18 23:58:06,573 INFO L273 TraceCheckUtils]: 19: Hoare triple {1460#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {1455#false} is VALID [2018-11-18 23:58:06,573 INFO L256 TraceCheckUtils]: 20: Hoare triple {1455#false} call SelectionSort(); {1454#true} is VALID [2018-11-18 23:58:06,574 INFO L273 TraceCheckUtils]: 21: Hoare triple {1454#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1454#true} is VALID [2018-11-18 23:58:06,574 INFO L273 TraceCheckUtils]: 22: Hoare triple {1454#true} assume true; {1454#true} is VALID [2018-11-18 23:58:06,574 INFO L273 TraceCheckUtils]: 23: Hoare triple {1454#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1454#true} is VALID [2018-11-18 23:58:06,574 INFO L273 TraceCheckUtils]: 24: Hoare triple {1454#true} assume true; {1454#true} is VALID [2018-11-18 23:58:06,574 INFO L273 TraceCheckUtils]: 25: Hoare triple {1454#true} assume !(~i~0 < ~n~0); {1454#true} is VALID [2018-11-18 23:58:06,574 INFO L273 TraceCheckUtils]: 26: Hoare triple {1454#true} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1454#true} is VALID [2018-11-18 23:58:06,575 INFO L273 TraceCheckUtils]: 27: Hoare triple {1454#true} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {1454#true} is VALID [2018-11-18 23:58:06,575 INFO L273 TraceCheckUtils]: 28: Hoare triple {1454#true} assume true; {1454#true} is VALID [2018-11-18 23:58:06,575 INFO L273 TraceCheckUtils]: 29: Hoare triple {1454#true} assume !(~lh~0 < ~n~0); {1454#true} is VALID [2018-11-18 23:58:06,575 INFO L273 TraceCheckUtils]: 30: Hoare triple {1454#true} assume true; {1454#true} is VALID [2018-11-18 23:58:06,575 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1454#true} {1455#false} #92#return; {1455#false} is VALID [2018-11-18 23:58:06,576 INFO L273 TraceCheckUtils]: 32: Hoare triple {1455#false} ~i~1 := 0; {1455#false} is VALID [2018-11-18 23:58:06,576 INFO L273 TraceCheckUtils]: 33: Hoare triple {1455#false} assume true; {1455#false} is VALID [2018-11-18 23:58:06,576 INFO L273 TraceCheckUtils]: 34: Hoare triple {1455#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1455#false} is VALID [2018-11-18 23:58:06,576 INFO L256 TraceCheckUtils]: 35: Hoare triple {1455#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {1455#false} is VALID [2018-11-18 23:58:06,577 INFO L273 TraceCheckUtils]: 36: Hoare triple {1455#false} ~cond := #in~cond; {1455#false} is VALID [2018-11-18 23:58:06,577 INFO L273 TraceCheckUtils]: 37: Hoare triple {1455#false} assume 0 == ~cond; {1455#false} is VALID [2018-11-18 23:58:06,577 INFO L273 TraceCheckUtils]: 38: Hoare triple {1455#false} assume !false; {1455#false} is VALID [2018-11-18 23:58:06,580 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-18 23:58:06,580 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:06,580 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:06,597 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:58:06,635 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:58:06,635 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:06,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:06,676 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:06,849 INFO L256 TraceCheckUtils]: 0: Hoare triple {1454#true} call ULTIMATE.init(); {1454#true} is VALID [2018-11-18 23:58:06,849 INFO L273 TraceCheckUtils]: 1: Hoare triple {1454#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {1454#true} is VALID [2018-11-18 23:58:06,849 INFO L273 TraceCheckUtils]: 2: Hoare triple {1454#true} assume true; {1454#true} is VALID [2018-11-18 23:58:06,850 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1454#true} {1454#true} #88#return; {1454#true} is VALID [2018-11-18 23:58:06,850 INFO L256 TraceCheckUtils]: 4: Hoare triple {1454#true} call #t~ret9 := main(); {1454#true} is VALID [2018-11-18 23:58:06,855 INFO L273 TraceCheckUtils]: 5: Hoare triple {1454#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {1456#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:06,856 INFO L273 TraceCheckUtils]: 6: Hoare triple {1456#(<= 4 main_~i~1)} assume true; {1456#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:06,856 INFO L273 TraceCheckUtils]: 7: Hoare triple {1456#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1456#(<= 4 main_~i~1)} is VALID [2018-11-18 23:58:06,857 INFO L273 TraceCheckUtils]: 8: Hoare triple {1456#(<= 4 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1457#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:06,861 INFO L273 TraceCheckUtils]: 9: Hoare triple {1457#(<= 3 main_~i~1)} assume true; {1457#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:06,861 INFO L273 TraceCheckUtils]: 10: Hoare triple {1457#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1457#(<= 3 main_~i~1)} is VALID [2018-11-18 23:58:06,862 INFO L273 TraceCheckUtils]: 11: Hoare triple {1457#(<= 3 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1458#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:06,862 INFO L273 TraceCheckUtils]: 12: Hoare triple {1458#(<= 2 main_~i~1)} assume true; {1458#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:06,863 INFO L273 TraceCheckUtils]: 13: Hoare triple {1458#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1458#(<= 2 main_~i~1)} is VALID [2018-11-18 23:58:06,863 INFO L273 TraceCheckUtils]: 14: Hoare triple {1458#(<= 2 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1459#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:06,864 INFO L273 TraceCheckUtils]: 15: Hoare triple {1459#(<= 1 main_~i~1)} assume true; {1459#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:06,866 INFO L273 TraceCheckUtils]: 16: Hoare triple {1459#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1459#(<= 1 main_~i~1)} is VALID [2018-11-18 23:58:06,867 INFO L273 TraceCheckUtils]: 17: Hoare triple {1459#(<= 1 main_~i~1)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1460#(<= 0 main_~i~1)} is VALID [2018-11-18 23:58:06,868 INFO L273 TraceCheckUtils]: 18: Hoare triple {1460#(<= 0 main_~i~1)} assume true; {1460#(<= 0 main_~i~1)} is VALID [2018-11-18 23:58:06,868 INFO L273 TraceCheckUtils]: 19: Hoare triple {1460#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {1455#false} is VALID [2018-11-18 23:58:06,869 INFO L256 TraceCheckUtils]: 20: Hoare triple {1455#false} call SelectionSort(); {1455#false} is VALID [2018-11-18 23:58:06,869 INFO L273 TraceCheckUtils]: 21: Hoare triple {1455#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1455#false} is VALID [2018-11-18 23:58:06,870 INFO L273 TraceCheckUtils]: 22: Hoare triple {1455#false} assume true; {1455#false} is VALID [2018-11-18 23:58:06,870 INFO L273 TraceCheckUtils]: 23: Hoare triple {1455#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1455#false} is VALID [2018-11-18 23:58:06,870 INFO L273 TraceCheckUtils]: 24: Hoare triple {1455#false} assume true; {1455#false} is VALID [2018-11-18 23:58:06,870 INFO L273 TraceCheckUtils]: 25: Hoare triple {1455#false} assume !(~i~0 < ~n~0); {1455#false} is VALID [2018-11-18 23:58:06,871 INFO L273 TraceCheckUtils]: 26: Hoare triple {1455#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1455#false} is VALID [2018-11-18 23:58:06,871 INFO L273 TraceCheckUtils]: 27: Hoare triple {1455#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {1455#false} is VALID [2018-11-18 23:58:06,872 INFO L273 TraceCheckUtils]: 28: Hoare triple {1455#false} assume true; {1455#false} is VALID [2018-11-18 23:58:06,872 INFO L273 TraceCheckUtils]: 29: Hoare triple {1455#false} assume !(~lh~0 < ~n~0); {1455#false} is VALID [2018-11-18 23:58:06,872 INFO L273 TraceCheckUtils]: 30: Hoare triple {1455#false} assume true; {1455#false} is VALID [2018-11-18 23:58:06,872 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1455#false} {1455#false} #92#return; {1455#false} is VALID [2018-11-18 23:58:06,872 INFO L273 TraceCheckUtils]: 32: Hoare triple {1455#false} ~i~1 := 0; {1455#false} is VALID [2018-11-18 23:58:06,873 INFO L273 TraceCheckUtils]: 33: Hoare triple {1455#false} assume true; {1455#false} is VALID [2018-11-18 23:58:06,873 INFO L273 TraceCheckUtils]: 34: Hoare triple {1455#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1455#false} is VALID [2018-11-18 23:58:06,873 INFO L256 TraceCheckUtils]: 35: Hoare triple {1455#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {1455#false} is VALID [2018-11-18 23:58:06,873 INFO L273 TraceCheckUtils]: 36: Hoare triple {1455#false} ~cond := #in~cond; {1455#false} is VALID [2018-11-18 23:58:06,873 INFO L273 TraceCheckUtils]: 37: Hoare triple {1455#false} assume 0 == ~cond; {1455#false} is VALID [2018-11-18 23:58:06,874 INFO L273 TraceCheckUtils]: 38: Hoare triple {1455#false} assume !false; {1455#false} is VALID [2018-11-18 23:58:06,875 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-18 23:58:06,896 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:06,896 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2018-11-18 23:58:06,896 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 39 [2018-11-18 23:58:06,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:06,897 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-18 23:58:06,951 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:06,952 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-18 23:58:06,952 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-18 23:58:06,952 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-18 23:58:06,953 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand 7 states. [2018-11-18 23:58:07,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:07,365 INFO L93 Difference]: Finished difference Result 95 states and 107 transitions. [2018-11-18 23:58:07,365 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-18 23:58:07,365 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 39 [2018-11-18 23:58:07,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:07,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-18 23:58:07,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2018-11-18 23:58:07,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-18 23:58:07,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2018-11-18 23:58:07,373 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 103 transitions. [2018-11-18 23:58:07,606 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:07,608 INFO L225 Difference]: With dead ends: 95 [2018-11-18 23:58:07,609 INFO L226 Difference]: Without dead ends: 69 [2018-11-18 23:58:07,610 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-18 23:58:07,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-18 23:58:07,657 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 49. [2018-11-18 23:58:07,658 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:07,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 49 states. [2018-11-18 23:58:07,658 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 49 states. [2018-11-18 23:58:07,658 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 49 states. [2018-11-18 23:58:07,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:07,663 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2018-11-18 23:58:07,663 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2018-11-18 23:58:07,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:07,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:07,664 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 69 states. [2018-11-18 23:58:07,665 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 69 states. [2018-11-18 23:58:07,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:07,668 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2018-11-18 23:58:07,668 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2018-11-18 23:58:07,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:07,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:07,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:07,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:07,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-18 23:58:07,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 53 transitions. [2018-11-18 23:58:07,672 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 53 transitions. Word has length 39 [2018-11-18 23:58:07,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:07,672 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 53 transitions. [2018-11-18 23:58:07,672 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-18 23:58:07,672 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-18 23:58:07,673 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-18 23:58:07,673 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:07,673 INFO L375 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:07,674 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:07,674 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:07,674 INFO L82 PathProgramCache]: Analyzing trace with hash 714535907, now seen corresponding path program 3 times [2018-11-18 23:58:07,674 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:07,675 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:07,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:07,676 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:07,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:07,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:07,856 INFO L256 TraceCheckUtils]: 0: Hoare triple {1911#true} call ULTIMATE.init(); {1911#true} is VALID [2018-11-18 23:58:07,858 INFO L273 TraceCheckUtils]: 1: Hoare triple {1911#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,860 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1913#(<= 5 ~n~0)} {1911#true} #88#return; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,861 INFO L256 TraceCheckUtils]: 4: Hoare triple {1913#(<= 5 ~n~0)} call #t~ret9 := main(); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,862 INFO L273 TraceCheckUtils]: 5: Hoare triple {1913#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,863 INFO L273 TraceCheckUtils]: 6: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,863 INFO L273 TraceCheckUtils]: 7: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,864 INFO L273 TraceCheckUtils]: 8: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,865 INFO L273 TraceCheckUtils]: 9: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,866 INFO L273 TraceCheckUtils]: 10: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,866 INFO L273 TraceCheckUtils]: 11: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,867 INFO L273 TraceCheckUtils]: 12: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,868 INFO L273 TraceCheckUtils]: 13: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,868 INFO L273 TraceCheckUtils]: 14: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,869 INFO L273 TraceCheckUtils]: 15: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,871 INFO L273 TraceCheckUtils]: 16: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,873 INFO L273 TraceCheckUtils]: 17: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,874 INFO L273 TraceCheckUtils]: 18: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,874 INFO L273 TraceCheckUtils]: 19: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,875 INFO L273 TraceCheckUtils]: 20: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,875 INFO L273 TraceCheckUtils]: 21: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,876 INFO L273 TraceCheckUtils]: 22: Hoare triple {1913#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:07,876 INFO L256 TraceCheckUtils]: 23: Hoare triple {1913#(<= 5 ~n~0)} call SelectionSort(); {1911#true} is VALID [2018-11-18 23:58:07,876 INFO L273 TraceCheckUtils]: 24: Hoare triple {1911#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1914#(= SelectionSort_~lh~0 0)} is VALID [2018-11-18 23:58:07,877 INFO L273 TraceCheckUtils]: 25: Hoare triple {1914#(= SelectionSort_~lh~0 0)} assume true; {1914#(= SelectionSort_~lh~0 0)} is VALID [2018-11-18 23:58:07,885 INFO L273 TraceCheckUtils]: 26: Hoare triple {1914#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1915#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:07,886 INFO L273 TraceCheckUtils]: 27: Hoare triple {1915#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume true; {1915#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:07,889 INFO L273 TraceCheckUtils]: 28: Hoare triple {1915#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !(~i~0 < ~n~0); {1916#(and (<= ~n~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:07,890 INFO L273 TraceCheckUtils]: 29: Hoare triple {1916#(and (<= ~n~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1916#(and (<= ~n~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:07,891 INFO L273 TraceCheckUtils]: 30: Hoare triple {1916#(and (<= ~n~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {1917#(<= ~n~0 1)} is VALID [2018-11-18 23:58:07,891 INFO L273 TraceCheckUtils]: 31: Hoare triple {1917#(<= ~n~0 1)} assume true; {1917#(<= ~n~0 1)} is VALID [2018-11-18 23:58:07,893 INFO L273 TraceCheckUtils]: 32: Hoare triple {1917#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1917#(<= ~n~0 1)} is VALID [2018-11-18 23:58:07,893 INFO L273 TraceCheckUtils]: 33: Hoare triple {1917#(<= ~n~0 1)} assume true; {1917#(<= ~n~0 1)} is VALID [2018-11-18 23:58:07,895 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1917#(<= ~n~0 1)} {1913#(<= 5 ~n~0)} #92#return; {1912#false} is VALID [2018-11-18 23:58:07,895 INFO L273 TraceCheckUtils]: 35: Hoare triple {1912#false} ~i~1 := 0; {1912#false} is VALID [2018-11-18 23:58:07,895 INFO L273 TraceCheckUtils]: 36: Hoare triple {1912#false} assume true; {1912#false} is VALID [2018-11-18 23:58:07,896 INFO L273 TraceCheckUtils]: 37: Hoare triple {1912#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1912#false} is VALID [2018-11-18 23:58:07,896 INFO L256 TraceCheckUtils]: 38: Hoare triple {1912#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {1912#false} is VALID [2018-11-18 23:58:07,896 INFO L273 TraceCheckUtils]: 39: Hoare triple {1912#false} ~cond := #in~cond; {1912#false} is VALID [2018-11-18 23:58:07,896 INFO L273 TraceCheckUtils]: 40: Hoare triple {1912#false} assume 0 == ~cond; {1912#false} is VALID [2018-11-18 23:58:07,896 INFO L273 TraceCheckUtils]: 41: Hoare triple {1912#false} assume !false; {1912#false} is VALID [2018-11-18 23:58:07,902 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-18 23:58:07,902 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:07,902 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:07,918 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:58:07,940 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-18 23:58:07,941 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:07,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:07,964 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:08,127 INFO L256 TraceCheckUtils]: 0: Hoare triple {1911#true} call ULTIMATE.init(); {1911#true} is VALID [2018-11-18 23:58:08,128 INFO L273 TraceCheckUtils]: 1: Hoare triple {1911#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,129 INFO L273 TraceCheckUtils]: 2: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,130 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1913#(<= 5 ~n~0)} {1911#true} #88#return; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,131 INFO L256 TraceCheckUtils]: 4: Hoare triple {1913#(<= 5 ~n~0)} call #t~ret9 := main(); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,131 INFO L273 TraceCheckUtils]: 5: Hoare triple {1913#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,132 INFO L273 TraceCheckUtils]: 6: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,133 INFO L273 TraceCheckUtils]: 7: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,133 INFO L273 TraceCheckUtils]: 8: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,134 INFO L273 TraceCheckUtils]: 9: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,135 INFO L273 TraceCheckUtils]: 10: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,135 INFO L273 TraceCheckUtils]: 11: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,136 INFO L273 TraceCheckUtils]: 12: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,137 INFO L273 TraceCheckUtils]: 13: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,138 INFO L273 TraceCheckUtils]: 14: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,138 INFO L273 TraceCheckUtils]: 15: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,147 INFO L273 TraceCheckUtils]: 16: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,148 INFO L273 TraceCheckUtils]: 17: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,152 INFO L273 TraceCheckUtils]: 18: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,152 INFO L273 TraceCheckUtils]: 19: Hoare triple {1913#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,153 INFO L273 TraceCheckUtils]: 20: Hoare triple {1913#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,153 INFO L273 TraceCheckUtils]: 21: Hoare triple {1913#(<= 5 ~n~0)} assume true; {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,153 INFO L273 TraceCheckUtils]: 22: Hoare triple {1913#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,154 INFO L256 TraceCheckUtils]: 23: Hoare triple {1913#(<= 5 ~n~0)} call SelectionSort(); {1913#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:08,155 INFO L273 TraceCheckUtils]: 24: Hoare triple {1913#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1993#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:08,155 INFO L273 TraceCheckUtils]: 25: Hoare triple {1993#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {1993#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:08,156 INFO L273 TraceCheckUtils]: 26: Hoare triple {1993#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2000#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:08,156 INFO L273 TraceCheckUtils]: 27: Hoare triple {2000#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} assume true; {2000#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:08,157 INFO L273 TraceCheckUtils]: 28: Hoare triple {2000#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {1912#false} is VALID [2018-11-18 23:58:08,157 INFO L273 TraceCheckUtils]: 29: Hoare triple {1912#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1912#false} is VALID [2018-11-18 23:58:08,158 INFO L273 TraceCheckUtils]: 30: Hoare triple {1912#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {1912#false} is VALID [2018-11-18 23:58:08,158 INFO L273 TraceCheckUtils]: 31: Hoare triple {1912#false} assume true; {1912#false} is VALID [2018-11-18 23:58:08,158 INFO L273 TraceCheckUtils]: 32: Hoare triple {1912#false} assume !(~lh~0 < ~n~0); {1912#false} is VALID [2018-11-18 23:58:08,159 INFO L273 TraceCheckUtils]: 33: Hoare triple {1912#false} assume true; {1912#false} is VALID [2018-11-18 23:58:08,159 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1912#false} {1913#(<= 5 ~n~0)} #92#return; {1912#false} is VALID [2018-11-18 23:58:08,159 INFO L273 TraceCheckUtils]: 35: Hoare triple {1912#false} ~i~1 := 0; {1912#false} is VALID [2018-11-18 23:58:08,159 INFO L273 TraceCheckUtils]: 36: Hoare triple {1912#false} assume true; {1912#false} is VALID [2018-11-18 23:58:08,160 INFO L273 TraceCheckUtils]: 37: Hoare triple {1912#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1912#false} is VALID [2018-11-18 23:58:08,160 INFO L256 TraceCheckUtils]: 38: Hoare triple {1912#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {1912#false} is VALID [2018-11-18 23:58:08,160 INFO L273 TraceCheckUtils]: 39: Hoare triple {1912#false} ~cond := #in~cond; {1912#false} is VALID [2018-11-18 23:58:08,160 INFO L273 TraceCheckUtils]: 40: Hoare triple {1912#false} assume 0 == ~cond; {1912#false} is VALID [2018-11-18 23:58:08,160 INFO L273 TraceCheckUtils]: 41: Hoare triple {1912#false} assume !false; {1912#false} is VALID [2018-11-18 23:58:08,164 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-18 23:58:08,186 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-18 23:58:08,186 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 9 [2018-11-18 23:58:08,187 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 42 [2018-11-18 23:58:08,187 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:08,187 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-18 23:58:08,316 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:08,316 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-18 23:58:08,316 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-18 23:58:08,316 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:58:08,317 INFO L87 Difference]: Start difference. First operand 49 states and 53 transitions. Second operand 9 states. [2018-11-18 23:58:09,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:09,160 INFO L93 Difference]: Finished difference Result 81 states and 92 transitions. [2018-11-18 23:58:09,160 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-18 23:58:09,160 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 42 [2018-11-18 23:58:09,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:09,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:58:09,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2018-11-18 23:58:09,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:58:09,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2018-11-18 23:58:09,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2018-11-18 23:58:09,300 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:09,302 INFO L225 Difference]: With dead ends: 81 [2018-11-18 23:58:09,303 INFO L226 Difference]: Without dead ends: 59 [2018-11-18 23:58:09,303 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 40 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:58:09,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-18 23:58:09,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 51. [2018-11-18 23:58:09,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:09,353 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 51 states. [2018-11-18 23:58:09,353 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 51 states. [2018-11-18 23:58:09,353 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 51 states. [2018-11-18 23:58:09,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:09,356 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2018-11-18 23:58:09,356 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2018-11-18 23:58:09,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:09,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:09,356 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 59 states. [2018-11-18 23:58:09,357 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 59 states. [2018-11-18 23:58:09,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:09,359 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2018-11-18 23:58:09,359 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2018-11-18 23:58:09,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:09,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:09,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:09,360 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:09,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-18 23:58:09,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2018-11-18 23:58:09,362 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 42 [2018-11-18 23:58:09,362 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:09,362 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2018-11-18 23:58:09,362 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-18 23:58:09,362 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-18 23:58:09,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-18 23:58:09,363 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:09,363 INFO L375 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:09,363 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:09,363 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:09,364 INFO L82 PathProgramCache]: Analyzing trace with hash 1253806010, now seen corresponding path program 1 times [2018-11-18 23:58:09,364 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:09,364 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:09,365 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:09,365 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:09,365 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:09,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:09,718 INFO L256 TraceCheckUtils]: 0: Hoare triple {2343#true} call ULTIMATE.init(); {2343#true} is VALID [2018-11-18 23:58:09,719 INFO L273 TraceCheckUtils]: 1: Hoare triple {2343#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {2343#true} is VALID [2018-11-18 23:58:09,719 INFO L273 TraceCheckUtils]: 2: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,720 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2343#true} {2343#true} #88#return; {2343#true} is VALID [2018-11-18 23:58:09,720 INFO L256 TraceCheckUtils]: 4: Hoare triple {2343#true} call #t~ret9 := main(); {2343#true} is VALID [2018-11-18 23:58:09,720 INFO L273 TraceCheckUtils]: 5: Hoare triple {2343#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {2343#true} is VALID [2018-11-18 23:58:09,721 INFO L273 TraceCheckUtils]: 6: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,721 INFO L273 TraceCheckUtils]: 7: Hoare triple {2343#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2343#true} is VALID [2018-11-18 23:58:09,721 INFO L273 TraceCheckUtils]: 8: Hoare triple {2343#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2343#true} is VALID [2018-11-18 23:58:09,722 INFO L273 TraceCheckUtils]: 9: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,722 INFO L273 TraceCheckUtils]: 10: Hoare triple {2343#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2343#true} is VALID [2018-11-18 23:58:09,722 INFO L273 TraceCheckUtils]: 11: Hoare triple {2343#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2343#true} is VALID [2018-11-18 23:58:09,722 INFO L273 TraceCheckUtils]: 12: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,723 INFO L273 TraceCheckUtils]: 13: Hoare triple {2343#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2343#true} is VALID [2018-11-18 23:58:09,723 INFO L273 TraceCheckUtils]: 14: Hoare triple {2343#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2343#true} is VALID [2018-11-18 23:58:09,723 INFO L273 TraceCheckUtils]: 15: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,723 INFO L273 TraceCheckUtils]: 16: Hoare triple {2343#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2343#true} is VALID [2018-11-18 23:58:09,723 INFO L273 TraceCheckUtils]: 17: Hoare triple {2343#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2343#true} is VALID [2018-11-18 23:58:09,724 INFO L273 TraceCheckUtils]: 18: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,724 INFO L273 TraceCheckUtils]: 19: Hoare triple {2343#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2343#true} is VALID [2018-11-18 23:58:09,724 INFO L273 TraceCheckUtils]: 20: Hoare triple {2343#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2343#true} is VALID [2018-11-18 23:58:09,724 INFO L273 TraceCheckUtils]: 21: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,724 INFO L273 TraceCheckUtils]: 22: Hoare triple {2343#true} assume !(~i~1 >= 0); {2343#true} is VALID [2018-11-18 23:58:09,725 INFO L256 TraceCheckUtils]: 23: Hoare triple {2343#true} call SelectionSort(); {2343#true} is VALID [2018-11-18 23:58:09,725 INFO L273 TraceCheckUtils]: 24: Hoare triple {2343#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2343#true} is VALID [2018-11-18 23:58:09,725 INFO L273 TraceCheckUtils]: 25: Hoare triple {2343#true} assume true; {2343#true} is VALID [2018-11-18 23:58:09,735 INFO L273 TraceCheckUtils]: 26: Hoare triple {2343#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2345#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:09,736 INFO L273 TraceCheckUtils]: 27: Hoare triple {2345#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume true; {2345#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:09,737 INFO L273 TraceCheckUtils]: 28: Hoare triple {2345#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:09,737 INFO L273 TraceCheckUtils]: 29: Hoare triple {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:09,739 INFO L273 TraceCheckUtils]: 30: Hoare triple {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:09,739 INFO L273 TraceCheckUtils]: 31: Hoare triple {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} assume true; {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:09,742 INFO L273 TraceCheckUtils]: 32: Hoare triple {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:09,742 INFO L273 TraceCheckUtils]: 33: Hoare triple {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:09,744 INFO L273 TraceCheckUtils]: 34: Hoare triple {2346#(<= (+ SelectionSort_~lh~0 2) ~n~0)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {2347#(<= (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2018-11-18 23:58:09,744 INFO L273 TraceCheckUtils]: 35: Hoare triple {2347#(<= (+ SelectionSort_~lh~0 1) ~n~0)} assume true; {2347#(<= (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2018-11-18 23:58:09,747 INFO L273 TraceCheckUtils]: 36: Hoare triple {2347#(<= (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~lh~0 < ~n~0); {2344#false} is VALID [2018-11-18 23:58:09,747 INFO L273 TraceCheckUtils]: 37: Hoare triple {2344#false} assume true; {2344#false} is VALID [2018-11-18 23:58:09,747 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2344#false} {2343#true} #92#return; {2344#false} is VALID [2018-11-18 23:58:09,747 INFO L273 TraceCheckUtils]: 39: Hoare triple {2344#false} ~i~1 := 0; {2344#false} is VALID [2018-11-18 23:58:09,747 INFO L273 TraceCheckUtils]: 40: Hoare triple {2344#false} assume true; {2344#false} is VALID [2018-11-18 23:58:09,748 INFO L273 TraceCheckUtils]: 41: Hoare triple {2344#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2344#false} is VALID [2018-11-18 23:58:09,748 INFO L256 TraceCheckUtils]: 42: Hoare triple {2344#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {2344#false} is VALID [2018-11-18 23:58:09,748 INFO L273 TraceCheckUtils]: 43: Hoare triple {2344#false} ~cond := #in~cond; {2344#false} is VALID [2018-11-18 23:58:09,748 INFO L273 TraceCheckUtils]: 44: Hoare triple {2344#false} assume 0 == ~cond; {2344#false} is VALID [2018-11-18 23:58:09,748 INFO L273 TraceCheckUtils]: 45: Hoare triple {2344#false} assume !false; {2344#false} is VALID [2018-11-18 23:58:09,749 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-18 23:58:09,750 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:09,750 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:09,758 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:09,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:09,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:09,828 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:10,633 INFO L256 TraceCheckUtils]: 0: Hoare triple {2343#true} call ULTIMATE.init(); {2343#true} is VALID [2018-11-18 23:58:10,634 INFO L273 TraceCheckUtils]: 1: Hoare triple {2343#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,634 INFO L273 TraceCheckUtils]: 2: Hoare triple {2354#(<= 5 ~n~0)} assume true; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,635 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2354#(<= 5 ~n~0)} {2343#true} #88#return; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,636 INFO L256 TraceCheckUtils]: 4: Hoare triple {2354#(<= 5 ~n~0)} call #t~ret9 := main(); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,653 INFO L273 TraceCheckUtils]: 5: Hoare triple {2354#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,662 INFO L273 TraceCheckUtils]: 6: Hoare triple {2354#(<= 5 ~n~0)} assume true; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,677 INFO L273 TraceCheckUtils]: 7: Hoare triple {2354#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,686 INFO L273 TraceCheckUtils]: 8: Hoare triple {2354#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,701 INFO L273 TraceCheckUtils]: 9: Hoare triple {2354#(<= 5 ~n~0)} assume true; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,704 INFO L273 TraceCheckUtils]: 10: Hoare triple {2354#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,704 INFO L273 TraceCheckUtils]: 11: Hoare triple {2354#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,705 INFO L273 TraceCheckUtils]: 12: Hoare triple {2354#(<= 5 ~n~0)} assume true; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,706 INFO L273 TraceCheckUtils]: 13: Hoare triple {2354#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,706 INFO L273 TraceCheckUtils]: 14: Hoare triple {2354#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,706 INFO L273 TraceCheckUtils]: 15: Hoare triple {2354#(<= 5 ~n~0)} assume true; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,708 INFO L273 TraceCheckUtils]: 16: Hoare triple {2354#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,708 INFO L273 TraceCheckUtils]: 17: Hoare triple {2354#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,709 INFO L273 TraceCheckUtils]: 18: Hoare triple {2354#(<= 5 ~n~0)} assume true; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,709 INFO L273 TraceCheckUtils]: 19: Hoare triple {2354#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,710 INFO L273 TraceCheckUtils]: 20: Hoare triple {2354#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,710 INFO L273 TraceCheckUtils]: 21: Hoare triple {2354#(<= 5 ~n~0)} assume true; {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,710 INFO L273 TraceCheckUtils]: 22: Hoare triple {2354#(<= 5 ~n~0)} assume !(~i~1 >= 0); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,711 INFO L256 TraceCheckUtils]: 23: Hoare triple {2354#(<= 5 ~n~0)} call SelectionSort(); {2354#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:10,711 INFO L273 TraceCheckUtils]: 24: Hoare triple {2354#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2424#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,712 INFO L273 TraceCheckUtils]: 25: Hoare triple {2424#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {2424#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,712 INFO L273 TraceCheckUtils]: 26: Hoare triple {2424#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,713 INFO L273 TraceCheckUtils]: 27: Hoare triple {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} assume true; {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,714 INFO L273 TraceCheckUtils]: 28: Hoare triple {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,715 INFO L273 TraceCheckUtils]: 29: Hoare triple {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,716 INFO L273 TraceCheckUtils]: 30: Hoare triple {2431#(and (<= SelectionSort_~i~0 1) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {2444#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,716 INFO L273 TraceCheckUtils]: 31: Hoare triple {2444#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} assume true; {2444#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:10,717 INFO L273 TraceCheckUtils]: 32: Hoare triple {2444#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {2344#false} is VALID [2018-11-18 23:58:10,718 INFO L273 TraceCheckUtils]: 33: Hoare triple {2344#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2344#false} is VALID [2018-11-18 23:58:10,718 INFO L273 TraceCheckUtils]: 34: Hoare triple {2344#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {2344#false} is VALID [2018-11-18 23:58:10,718 INFO L273 TraceCheckUtils]: 35: Hoare triple {2344#false} assume true; {2344#false} is VALID [2018-11-18 23:58:10,718 INFO L273 TraceCheckUtils]: 36: Hoare triple {2344#false} assume !(~lh~0 < ~n~0); {2344#false} is VALID [2018-11-18 23:58:10,718 INFO L273 TraceCheckUtils]: 37: Hoare triple {2344#false} assume true; {2344#false} is VALID [2018-11-18 23:58:10,719 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2344#false} {2354#(<= 5 ~n~0)} #92#return; {2344#false} is VALID [2018-11-18 23:58:10,719 INFO L273 TraceCheckUtils]: 39: Hoare triple {2344#false} ~i~1 := 0; {2344#false} is VALID [2018-11-18 23:58:10,719 INFO L273 TraceCheckUtils]: 40: Hoare triple {2344#false} assume true; {2344#false} is VALID [2018-11-18 23:58:10,719 INFO L273 TraceCheckUtils]: 41: Hoare triple {2344#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2344#false} is VALID [2018-11-18 23:58:10,720 INFO L256 TraceCheckUtils]: 42: Hoare triple {2344#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {2344#false} is VALID [2018-11-18 23:58:10,720 INFO L273 TraceCheckUtils]: 43: Hoare triple {2344#false} ~cond := #in~cond; {2344#false} is VALID [2018-11-18 23:58:10,720 INFO L273 TraceCheckUtils]: 44: Hoare triple {2344#false} assume 0 == ~cond; {2344#false} is VALID [2018-11-18 23:58:10,720 INFO L273 TraceCheckUtils]: 45: Hoare triple {2344#false} assume !false; {2344#false} is VALID [2018-11-18 23:58:10,723 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-18 23:58:10,742 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:10,742 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 9 [2018-11-18 23:58:10,743 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 46 [2018-11-18 23:58:10,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:10,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-18 23:58:10,795 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:10,795 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-18 23:58:10,795 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-18 23:58:10,795 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:58:10,796 INFO L87 Difference]: Start difference. First operand 51 states and 55 transitions. Second operand 9 states. [2018-11-18 23:58:11,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:11,410 INFO L93 Difference]: Finished difference Result 93 states and 108 transitions. [2018-11-18 23:58:11,410 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-18 23:58:11,410 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 46 [2018-11-18 23:58:11,410 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:11,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:58:11,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2018-11-18 23:58:11,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:58:11,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2018-11-18 23:58:11,416 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 94 transitions. [2018-11-18 23:58:11,557 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:11,559 INFO L225 Difference]: With dead ends: 93 [2018-11-18 23:58:11,559 INFO L226 Difference]: Without dead ends: 71 [2018-11-18 23:58:11,562 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-11-18 23:58:11,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-11-18 23:58:11,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 69. [2018-11-18 23:58:11,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:11,673 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 69 states. [2018-11-18 23:58:11,673 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 69 states. [2018-11-18 23:58:11,674 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 69 states. [2018-11-18 23:58:11,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:11,677 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2018-11-18 23:58:11,677 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2018-11-18 23:58:11,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:11,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:11,678 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 71 states. [2018-11-18 23:58:11,678 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 71 states. [2018-11-18 23:58:11,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:11,680 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2018-11-18 23:58:11,680 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2018-11-18 23:58:11,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:11,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:11,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:11,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:11,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-18 23:58:11,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 77 transitions. [2018-11-18 23:58:11,684 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 77 transitions. Word has length 46 [2018-11-18 23:58:11,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:11,684 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 77 transitions. [2018-11-18 23:58:11,684 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-18 23:58:11,684 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2018-11-18 23:58:11,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-18 23:58:11,685 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:11,685 INFO L375 BasicCegarLoop]: trace histogram [6, 5, 5, 5, 4, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:11,685 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:11,686 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:11,686 INFO L82 PathProgramCache]: Analyzing trace with hash 615631485, now seen corresponding path program 2 times [2018-11-18 23:58:11,686 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:11,686 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:11,687 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:11,687 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:11,687 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:11,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:11,869 INFO L256 TraceCheckUtils]: 0: Hoare triple {2862#true} call ULTIMATE.init(); {2862#true} is VALID [2018-11-18 23:58:11,869 INFO L273 TraceCheckUtils]: 1: Hoare triple {2862#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {2862#true} is VALID [2018-11-18 23:58:11,869 INFO L273 TraceCheckUtils]: 2: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,869 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2862#true} {2862#true} #88#return; {2862#true} is VALID [2018-11-18 23:58:11,870 INFO L256 TraceCheckUtils]: 4: Hoare triple {2862#true} call #t~ret9 := main(); {2862#true} is VALID [2018-11-18 23:58:11,870 INFO L273 TraceCheckUtils]: 5: Hoare triple {2862#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {2862#true} is VALID [2018-11-18 23:58:11,870 INFO L273 TraceCheckUtils]: 6: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,870 INFO L273 TraceCheckUtils]: 7: Hoare triple {2862#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2862#true} is VALID [2018-11-18 23:58:11,870 INFO L273 TraceCheckUtils]: 8: Hoare triple {2862#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2862#true} is VALID [2018-11-18 23:58:11,870 INFO L273 TraceCheckUtils]: 9: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,870 INFO L273 TraceCheckUtils]: 10: Hoare triple {2862#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2862#true} is VALID [2018-11-18 23:58:11,871 INFO L273 TraceCheckUtils]: 11: Hoare triple {2862#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2862#true} is VALID [2018-11-18 23:58:11,871 INFO L273 TraceCheckUtils]: 12: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,871 INFO L273 TraceCheckUtils]: 13: Hoare triple {2862#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2862#true} is VALID [2018-11-18 23:58:11,871 INFO L273 TraceCheckUtils]: 14: Hoare triple {2862#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2862#true} is VALID [2018-11-18 23:58:11,871 INFO L273 TraceCheckUtils]: 15: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,871 INFO L273 TraceCheckUtils]: 16: Hoare triple {2862#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2862#true} is VALID [2018-11-18 23:58:11,872 INFO L273 TraceCheckUtils]: 17: Hoare triple {2862#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2862#true} is VALID [2018-11-18 23:58:11,872 INFO L273 TraceCheckUtils]: 18: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,872 INFO L273 TraceCheckUtils]: 19: Hoare triple {2862#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2862#true} is VALID [2018-11-18 23:58:11,872 INFO L273 TraceCheckUtils]: 20: Hoare triple {2862#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {2862#true} is VALID [2018-11-18 23:58:11,872 INFO L273 TraceCheckUtils]: 21: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,872 INFO L273 TraceCheckUtils]: 22: Hoare triple {2862#true} assume !(~i~1 >= 0); {2862#true} is VALID [2018-11-18 23:58:11,873 INFO L256 TraceCheckUtils]: 23: Hoare triple {2862#true} call SelectionSort(); {2862#true} is VALID [2018-11-18 23:58:11,873 INFO L273 TraceCheckUtils]: 24: Hoare triple {2862#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2862#true} is VALID [2018-11-18 23:58:11,873 INFO L273 TraceCheckUtils]: 25: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,873 INFO L273 TraceCheckUtils]: 26: Hoare triple {2862#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2862#true} is VALID [2018-11-18 23:58:11,873 INFO L273 TraceCheckUtils]: 27: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,874 INFO L273 TraceCheckUtils]: 28: Hoare triple {2862#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2862#true} is VALID [2018-11-18 23:58:11,874 INFO L273 TraceCheckUtils]: 29: Hoare triple {2862#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {2862#true} is VALID [2018-11-18 23:58:11,874 INFO L273 TraceCheckUtils]: 30: Hoare triple {2862#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {2862#true} is VALID [2018-11-18 23:58:11,874 INFO L273 TraceCheckUtils]: 31: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,874 INFO L273 TraceCheckUtils]: 32: Hoare triple {2862#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2862#true} is VALID [2018-11-18 23:58:11,875 INFO L273 TraceCheckUtils]: 33: Hoare triple {2862#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {2862#true} is VALID [2018-11-18 23:58:11,875 INFO L273 TraceCheckUtils]: 34: Hoare triple {2862#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {2862#true} is VALID [2018-11-18 23:58:11,875 INFO L273 TraceCheckUtils]: 35: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,875 INFO L273 TraceCheckUtils]: 36: Hoare triple {2862#true} assume !(~i~0 < ~n~0); {2862#true} is VALID [2018-11-18 23:58:11,875 INFO L273 TraceCheckUtils]: 37: Hoare triple {2862#true} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2862#true} is VALID [2018-11-18 23:58:11,875 INFO L273 TraceCheckUtils]: 38: Hoare triple {2862#true} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {2862#true} is VALID [2018-11-18 23:58:11,876 INFO L273 TraceCheckUtils]: 39: Hoare triple {2862#true} assume true; {2862#true} is VALID [2018-11-18 23:58:11,877 INFO L273 TraceCheckUtils]: 40: Hoare triple {2862#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2864#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:11,877 INFO L273 TraceCheckUtils]: 41: Hoare triple {2864#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} assume true; {2864#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:11,879 INFO L273 TraceCheckUtils]: 42: Hoare triple {2864#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} assume !(~i~0 < ~n~0); {2865#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:11,879 INFO L273 TraceCheckUtils]: 43: Hoare triple {2865#(<= ~n~0 (+ SelectionSort_~lh~0 1))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2865#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:11,895 INFO L273 TraceCheckUtils]: 44: Hoare triple {2865#(<= ~n~0 (+ SelectionSort_~lh~0 1))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {2866#(<= ~n~0 SelectionSort_~lh~0)} is VALID [2018-11-18 23:58:11,895 INFO L273 TraceCheckUtils]: 45: Hoare triple {2866#(<= ~n~0 SelectionSort_~lh~0)} assume true; {2866#(<= ~n~0 SelectionSort_~lh~0)} is VALID [2018-11-18 23:58:11,898 INFO L273 TraceCheckUtils]: 46: Hoare triple {2866#(<= ~n~0 SelectionSort_~lh~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2863#false} is VALID [2018-11-18 23:58:11,898 INFO L273 TraceCheckUtils]: 47: Hoare triple {2863#false} assume true; {2863#false} is VALID [2018-11-18 23:58:11,898 INFO L273 TraceCheckUtils]: 48: Hoare triple {2863#false} assume !(~i~0 < ~n~0); {2863#false} is VALID [2018-11-18 23:58:11,898 INFO L273 TraceCheckUtils]: 49: Hoare triple {2863#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2863#false} is VALID [2018-11-18 23:58:11,898 INFO L273 TraceCheckUtils]: 50: Hoare triple {2863#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {2863#false} is VALID [2018-11-18 23:58:11,898 INFO L273 TraceCheckUtils]: 51: Hoare triple {2863#false} assume true; {2863#false} is VALID [2018-11-18 23:58:11,898 INFO L273 TraceCheckUtils]: 52: Hoare triple {2863#false} assume !(~lh~0 < ~n~0); {2863#false} is VALID [2018-11-18 23:58:11,899 INFO L273 TraceCheckUtils]: 53: Hoare triple {2863#false} assume true; {2863#false} is VALID [2018-11-18 23:58:11,899 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {2863#false} {2862#true} #92#return; {2863#false} is VALID [2018-11-18 23:58:11,899 INFO L273 TraceCheckUtils]: 55: Hoare triple {2863#false} ~i~1 := 0; {2863#false} is VALID [2018-11-18 23:58:11,899 INFO L273 TraceCheckUtils]: 56: Hoare triple {2863#false} assume true; {2863#false} is VALID [2018-11-18 23:58:11,899 INFO L273 TraceCheckUtils]: 57: Hoare triple {2863#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2863#false} is VALID [2018-11-18 23:58:11,899 INFO L256 TraceCheckUtils]: 58: Hoare triple {2863#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {2863#false} is VALID [2018-11-18 23:58:11,899 INFO L273 TraceCheckUtils]: 59: Hoare triple {2863#false} ~cond := #in~cond; {2863#false} is VALID [2018-11-18 23:58:11,900 INFO L273 TraceCheckUtils]: 60: Hoare triple {2863#false} assume 0 == ~cond; {2863#false} is VALID [2018-11-18 23:58:11,900 INFO L273 TraceCheckUtils]: 61: Hoare triple {2863#false} assume !false; {2863#false} is VALID [2018-11-18 23:58:11,902 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 30 proven. 0 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:58:11,902 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:58:11,902 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-18 23:58:11,903 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 62 [2018-11-18 23:58:11,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:11,903 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-18 23:58:11,949 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:11,949 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-18 23:58:11,949 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-18 23:58:11,949 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-18 23:58:11,950 INFO L87 Difference]: Start difference. First operand 69 states and 77 transitions. Second operand 5 states. [2018-11-18 23:58:12,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:12,154 INFO L93 Difference]: Finished difference Result 105 states and 119 transitions. [2018-11-18 23:58:12,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-18 23:58:12,154 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 62 [2018-11-18 23:58:12,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:12,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:58:12,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2018-11-18 23:58:12,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:58:12,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2018-11-18 23:58:12,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 72 transitions. [2018-11-18 23:58:12,248 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:12,251 INFO L225 Difference]: With dead ends: 105 [2018-11-18 23:58:12,251 INFO L226 Difference]: Without dead ends: 73 [2018-11-18 23:58:12,252 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2018-11-18 23:58:12,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-18 23:58:12,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 71. [2018-11-18 23:58:12,321 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:12,321 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 71 states. [2018-11-18 23:58:12,321 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 71 states. [2018-11-18 23:58:12,321 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 71 states. [2018-11-18 23:58:12,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:12,324 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2018-11-18 23:58:12,325 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2018-11-18 23:58:12,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:12,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:12,325 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 73 states. [2018-11-18 23:58:12,325 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 73 states. [2018-11-18 23:58:12,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:12,328 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2018-11-18 23:58:12,328 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2018-11-18 23:58:12,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:12,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:12,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:12,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:12,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-18 23:58:12,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 78 transitions. [2018-11-18 23:58:12,331 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 78 transitions. Word has length 62 [2018-11-18 23:58:12,331 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:12,332 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 78 transitions. [2018-11-18 23:58:12,332 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-18 23:58:12,332 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 78 transitions. [2018-11-18 23:58:12,332 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2018-11-18 23:58:12,333 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:12,333 INFO L375 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:12,333 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:12,333 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:12,333 INFO L82 PathProgramCache]: Analyzing trace with hash 532674324, now seen corresponding path program 3 times [2018-11-18 23:58:12,333 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:12,334 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:12,334 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:12,335 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:12,335 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:12,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:12,661 INFO L256 TraceCheckUtils]: 0: Hoare triple {3254#true} call ULTIMATE.init(); {3254#true} is VALID [2018-11-18 23:58:12,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {3254#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,664 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3256#(<= 5 ~n~0)} {3254#true} #88#return; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,664 INFO L256 TraceCheckUtils]: 4: Hoare triple {3256#(<= 5 ~n~0)} call #t~ret9 := main(); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,665 INFO L273 TraceCheckUtils]: 5: Hoare triple {3256#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,665 INFO L273 TraceCheckUtils]: 6: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,666 INFO L273 TraceCheckUtils]: 7: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,666 INFO L273 TraceCheckUtils]: 8: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,667 INFO L273 TraceCheckUtils]: 9: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,668 INFO L273 TraceCheckUtils]: 10: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,668 INFO L273 TraceCheckUtils]: 11: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,669 INFO L273 TraceCheckUtils]: 12: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,669 INFO L273 TraceCheckUtils]: 13: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,670 INFO L273 TraceCheckUtils]: 14: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,670 INFO L273 TraceCheckUtils]: 15: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,671 INFO L273 TraceCheckUtils]: 16: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,671 INFO L273 TraceCheckUtils]: 17: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,672 INFO L273 TraceCheckUtils]: 18: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,672 INFO L273 TraceCheckUtils]: 19: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,673 INFO L273 TraceCheckUtils]: 20: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,674 INFO L273 TraceCheckUtils]: 21: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,674 INFO L273 TraceCheckUtils]: 22: Hoare triple {3256#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,674 INFO L256 TraceCheckUtils]: 23: Hoare triple {3256#(<= 5 ~n~0)} call SelectionSort(); {3254#true} is VALID [2018-11-18 23:58:12,675 INFO L273 TraceCheckUtils]: 24: Hoare triple {3254#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3257#(= SelectionSort_~lh~0 0)} is VALID [2018-11-18 23:58:12,675 INFO L273 TraceCheckUtils]: 25: Hoare triple {3257#(= SelectionSort_~lh~0 0)} assume true; {3257#(= SelectionSort_~lh~0 0)} is VALID [2018-11-18 23:58:12,676 INFO L273 TraceCheckUtils]: 26: Hoare triple {3257#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,677 INFO L273 TraceCheckUtils]: 27: Hoare triple {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume true; {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,678 INFO L273 TraceCheckUtils]: 28: Hoare triple {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,678 INFO L273 TraceCheckUtils]: 29: Hoare triple {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,679 INFO L273 TraceCheckUtils]: 30: Hoare triple {3258#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,680 INFO L273 TraceCheckUtils]: 31: Hoare triple {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} assume true; {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,681 INFO L273 TraceCheckUtils]: 32: Hoare triple {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,682 INFO L273 TraceCheckUtils]: 33: Hoare triple {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,683 INFO L273 TraceCheckUtils]: 34: Hoare triple {3259#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3260#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,683 INFO L273 TraceCheckUtils]: 35: Hoare triple {3260#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume true; {3260#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,684 INFO L273 TraceCheckUtils]: 36: Hoare triple {3260#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume !(~i~0 < ~n~0); {3261#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,685 INFO L273 TraceCheckUtils]: 37: Hoare triple {3261#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3261#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:12,686 INFO L273 TraceCheckUtils]: 38: Hoare triple {3261#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,687 INFO L273 TraceCheckUtils]: 39: Hoare triple {3262#(<= ~n~0 3)} assume true; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,687 INFO L273 TraceCheckUtils]: 40: Hoare triple {3262#(<= ~n~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,688 INFO L273 TraceCheckUtils]: 41: Hoare triple {3262#(<= ~n~0 3)} assume true; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,688 INFO L273 TraceCheckUtils]: 42: Hoare triple {3262#(<= ~n~0 3)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,689 INFO L273 TraceCheckUtils]: 43: Hoare triple {3262#(<= ~n~0 3)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,689 INFO L273 TraceCheckUtils]: 44: Hoare triple {3262#(<= ~n~0 3)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,690 INFO L273 TraceCheckUtils]: 45: Hoare triple {3262#(<= ~n~0 3)} assume true; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,690 INFO L273 TraceCheckUtils]: 46: Hoare triple {3262#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,691 INFO L273 TraceCheckUtils]: 47: Hoare triple {3262#(<= ~n~0 3)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,691 INFO L273 TraceCheckUtils]: 48: Hoare triple {3262#(<= ~n~0 3)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,692 INFO L273 TraceCheckUtils]: 49: Hoare triple {3262#(<= ~n~0 3)} assume true; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,693 INFO L273 TraceCheckUtils]: 50: Hoare triple {3262#(<= ~n~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,693 INFO L273 TraceCheckUtils]: 51: Hoare triple {3262#(<= ~n~0 3)} assume true; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,694 INFO L273 TraceCheckUtils]: 52: Hoare triple {3262#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,694 INFO L273 TraceCheckUtils]: 53: Hoare triple {3262#(<= ~n~0 3)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,695 INFO L273 TraceCheckUtils]: 54: Hoare triple {3262#(<= ~n~0 3)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,695 INFO L273 TraceCheckUtils]: 55: Hoare triple {3262#(<= ~n~0 3)} assume true; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,696 INFO L273 TraceCheckUtils]: 56: Hoare triple {3262#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,696 INFO L273 TraceCheckUtils]: 57: Hoare triple {3262#(<= ~n~0 3)} assume true; {3262#(<= ~n~0 3)} is VALID [2018-11-18 23:58:12,697 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {3262#(<= ~n~0 3)} {3256#(<= 5 ~n~0)} #92#return; {3255#false} is VALID [2018-11-18 23:58:12,697 INFO L273 TraceCheckUtils]: 59: Hoare triple {3255#false} ~i~1 := 0; {3255#false} is VALID [2018-11-18 23:58:12,698 INFO L273 TraceCheckUtils]: 60: Hoare triple {3255#false} assume true; {3255#false} is VALID [2018-11-18 23:58:12,698 INFO L273 TraceCheckUtils]: 61: Hoare triple {3255#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3255#false} is VALID [2018-11-18 23:58:12,698 INFO L256 TraceCheckUtils]: 62: Hoare triple {3255#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {3255#false} is VALID [2018-11-18 23:58:12,698 INFO L273 TraceCheckUtils]: 63: Hoare triple {3255#false} ~cond := #in~cond; {3255#false} is VALID [2018-11-18 23:58:12,699 INFO L273 TraceCheckUtils]: 64: Hoare triple {3255#false} assume 0 == ~cond; {3255#false} is VALID [2018-11-18 23:58:12,699 INFO L273 TraceCheckUtils]: 65: Hoare triple {3255#false} assume !false; {3255#false} is VALID [2018-11-18 23:58:12,703 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 54 trivial. 0 not checked. [2018-11-18 23:58:12,703 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:12,703 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:12,712 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:58:12,753 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-18 23:58:12,753 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:12,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:12,795 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:12,979 INFO L256 TraceCheckUtils]: 0: Hoare triple {3254#true} call ULTIMATE.init(); {3254#true} is VALID [2018-11-18 23:58:12,980 INFO L273 TraceCheckUtils]: 1: Hoare triple {3254#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,981 INFO L273 TraceCheckUtils]: 2: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,981 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3256#(<= 5 ~n~0)} {3254#true} #88#return; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,982 INFO L256 TraceCheckUtils]: 4: Hoare triple {3256#(<= 5 ~n~0)} call #t~ret9 := main(); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,983 INFO L273 TraceCheckUtils]: 5: Hoare triple {3256#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,983 INFO L273 TraceCheckUtils]: 6: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,984 INFO L273 TraceCheckUtils]: 7: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,984 INFO L273 TraceCheckUtils]: 8: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,985 INFO L273 TraceCheckUtils]: 9: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,985 INFO L273 TraceCheckUtils]: 10: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,986 INFO L273 TraceCheckUtils]: 11: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,986 INFO L273 TraceCheckUtils]: 12: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,987 INFO L273 TraceCheckUtils]: 13: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,987 INFO L273 TraceCheckUtils]: 14: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,988 INFO L273 TraceCheckUtils]: 15: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,988 INFO L273 TraceCheckUtils]: 16: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,989 INFO L273 TraceCheckUtils]: 17: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,989 INFO L273 TraceCheckUtils]: 18: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,990 INFO L273 TraceCheckUtils]: 19: Hoare triple {3256#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,991 INFO L273 TraceCheckUtils]: 20: Hoare triple {3256#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,991 INFO L273 TraceCheckUtils]: 21: Hoare triple {3256#(<= 5 ~n~0)} assume true; {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,992 INFO L273 TraceCheckUtils]: 22: Hoare triple {3256#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,992 INFO L256 TraceCheckUtils]: 23: Hoare triple {3256#(<= 5 ~n~0)} call SelectionSort(); {3256#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:12,993 INFO L273 TraceCheckUtils]: 24: Hoare triple {3256#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,994 INFO L273 TraceCheckUtils]: 25: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,994 INFO L273 TraceCheckUtils]: 26: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,995 INFO L273 TraceCheckUtils]: 27: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,996 INFO L273 TraceCheckUtils]: 28: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,997 INFO L273 TraceCheckUtils]: 29: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,997 INFO L273 TraceCheckUtils]: 30: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,998 INFO L273 TraceCheckUtils]: 31: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:12,999 INFO L273 TraceCheckUtils]: 32: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,000 INFO L273 TraceCheckUtils]: 33: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,000 INFO L273 TraceCheckUtils]: 34: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,001 INFO L273 TraceCheckUtils]: 35: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,002 INFO L273 TraceCheckUtils]: 36: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,003 INFO L273 TraceCheckUtils]: 37: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,003 INFO L273 TraceCheckUtils]: 38: Hoare triple {3338#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,004 INFO L273 TraceCheckUtils]: 39: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,005 INFO L273 TraceCheckUtils]: 40: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,006 INFO L273 TraceCheckUtils]: 41: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,006 INFO L273 TraceCheckUtils]: 42: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,007 INFO L273 TraceCheckUtils]: 43: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,009 INFO L273 TraceCheckUtils]: 44: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,009 INFO L273 TraceCheckUtils]: 45: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,010 INFO L273 TraceCheckUtils]: 46: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,011 INFO L273 TraceCheckUtils]: 47: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,012 INFO L273 TraceCheckUtils]: 48: Hoare triple {3381#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,013 INFO L273 TraceCheckUtils]: 49: Hoare triple {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume true; {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,013 INFO L273 TraceCheckUtils]: 50: Hoare triple {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,014 INFO L273 TraceCheckUtils]: 51: Hoare triple {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume true; {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,015 INFO L273 TraceCheckUtils]: 52: Hoare triple {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,016 INFO L273 TraceCheckUtils]: 53: Hoare triple {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,016 INFO L273 TraceCheckUtils]: 54: Hoare triple {3412#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3431#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,017 INFO L273 TraceCheckUtils]: 55: Hoare triple {3431#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} assume true; {3431#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:13,018 INFO L273 TraceCheckUtils]: 56: Hoare triple {3431#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} assume !(~lh~0 < ~n~0); {3255#false} is VALID [2018-11-18 23:58:13,018 INFO L273 TraceCheckUtils]: 57: Hoare triple {3255#false} assume true; {3255#false} is VALID [2018-11-18 23:58:13,018 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {3255#false} {3256#(<= 5 ~n~0)} #92#return; {3255#false} is VALID [2018-11-18 23:58:13,019 INFO L273 TraceCheckUtils]: 59: Hoare triple {3255#false} ~i~1 := 0; {3255#false} is VALID [2018-11-18 23:58:13,019 INFO L273 TraceCheckUtils]: 60: Hoare triple {3255#false} assume true; {3255#false} is VALID [2018-11-18 23:58:13,019 INFO L273 TraceCheckUtils]: 61: Hoare triple {3255#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3255#false} is VALID [2018-11-18 23:58:13,019 INFO L256 TraceCheckUtils]: 62: Hoare triple {3255#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {3255#false} is VALID [2018-11-18 23:58:13,019 INFO L273 TraceCheckUtils]: 63: Hoare triple {3255#false} ~cond := #in~cond; {3255#false} is VALID [2018-11-18 23:58:13,020 INFO L273 TraceCheckUtils]: 64: Hoare triple {3255#false} assume 0 == ~cond; {3255#false} is VALID [2018-11-18 23:58:13,020 INFO L273 TraceCheckUtils]: 65: Hoare triple {3255#false} assume !false; {3255#false} is VALID [2018-11-18 23:58:13,026 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:58:13,050 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:13,051 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7] total 13 [2018-11-18 23:58:13,051 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 66 [2018-11-18 23:58:13,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:13,052 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-18 23:58:13,143 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:13,143 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-18 23:58:13,143 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-18 23:58:13,144 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2018-11-18 23:58:13,144 INFO L87 Difference]: Start difference. First operand 71 states and 78 transitions. Second operand 13 states. [2018-11-18 23:58:13,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:13,813 INFO L93 Difference]: Finished difference Result 143 states and 164 transitions. [2018-11-18 23:58:13,813 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-18 23:58:13,813 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 66 [2018-11-18 23:58:13,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:13,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:58:13,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 119 transitions. [2018-11-18 23:58:13,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:58:13,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 119 transitions. [2018-11-18 23:58:13,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 119 transitions. [2018-11-18 23:58:13,976 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:13,979 INFO L225 Difference]: With dead ends: 143 [2018-11-18 23:58:13,980 INFO L226 Difference]: Without dead ends: 105 [2018-11-18 23:58:13,980 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 62 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=85, Invalid=187, Unknown=0, NotChecked=0, Total=272 [2018-11-18 23:58:13,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-11-18 23:58:14,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 85. [2018-11-18 23:58:14,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:14,121 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 85 states. [2018-11-18 23:58:14,121 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 85 states. [2018-11-18 23:58:14,121 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 85 states. [2018-11-18 23:58:14,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:14,123 INFO L93 Difference]: Finished difference Result 105 states and 121 transitions. [2018-11-18 23:58:14,123 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 121 transitions. [2018-11-18 23:58:14,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:14,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:14,124 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 105 states. [2018-11-18 23:58:14,124 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 105 states. [2018-11-18 23:58:14,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:14,126 INFO L93 Difference]: Finished difference Result 105 states and 121 transitions. [2018-11-18 23:58:14,126 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 121 transitions. [2018-11-18 23:58:14,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:14,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:14,127 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:14,127 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:14,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-18 23:58:14,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 95 transitions. [2018-11-18 23:58:14,130 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 95 transitions. Word has length 66 [2018-11-18 23:58:14,130 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:14,130 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 95 transitions. [2018-11-18 23:58:14,130 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-18 23:58:14,130 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 95 transitions. [2018-11-18 23:58:14,131 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2018-11-18 23:58:14,131 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:14,131 INFO L375 BasicCegarLoop]: trace histogram [9, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:14,131 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:14,132 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:14,132 INFO L82 PathProgramCache]: Analyzing trace with hash 469251704, now seen corresponding path program 4 times [2018-11-18 23:58:14,132 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:14,132 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:14,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:14,133 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:14,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:14,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:14,603 INFO L256 TraceCheckUtils]: 0: Hoare triple {3982#true} call ULTIMATE.init(); {3982#true} is VALID [2018-11-18 23:58:14,604 INFO L273 TraceCheckUtils]: 1: Hoare triple {3982#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {3982#true} is VALID [2018-11-18 23:58:14,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,604 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3982#true} {3982#true} #88#return; {3982#true} is VALID [2018-11-18 23:58:14,605 INFO L256 TraceCheckUtils]: 4: Hoare triple {3982#true} call #t~ret9 := main(); {3982#true} is VALID [2018-11-18 23:58:14,605 INFO L273 TraceCheckUtils]: 5: Hoare triple {3982#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {3982#true} is VALID [2018-11-18 23:58:14,605 INFO L273 TraceCheckUtils]: 6: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,605 INFO L273 TraceCheckUtils]: 7: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,606 INFO L273 TraceCheckUtils]: 8: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,606 INFO L273 TraceCheckUtils]: 9: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,606 INFO L273 TraceCheckUtils]: 10: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,607 INFO L273 TraceCheckUtils]: 11: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,607 INFO L273 TraceCheckUtils]: 12: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,607 INFO L273 TraceCheckUtils]: 13: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,607 INFO L273 TraceCheckUtils]: 14: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,607 INFO L273 TraceCheckUtils]: 15: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,607 INFO L273 TraceCheckUtils]: 16: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,607 INFO L273 TraceCheckUtils]: 17: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,608 INFO L273 TraceCheckUtils]: 18: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,608 INFO L273 TraceCheckUtils]: 19: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,608 INFO L273 TraceCheckUtils]: 20: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,608 INFO L273 TraceCheckUtils]: 21: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,608 INFO L273 TraceCheckUtils]: 22: Hoare triple {3982#true} assume !(~i~1 >= 0); {3982#true} is VALID [2018-11-18 23:58:14,608 INFO L256 TraceCheckUtils]: 23: Hoare triple {3982#true} call SelectionSort(); {3982#true} is VALID [2018-11-18 23:58:14,608 INFO L273 TraceCheckUtils]: 24: Hoare triple {3982#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 25: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 26: Hoare triple {3982#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 27: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 28: Hoare triple {3982#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 29: Hoare triple {3982#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 30: Hoare triple {3982#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 31: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,609 INFO L273 TraceCheckUtils]: 32: Hoare triple {3982#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 33: Hoare triple {3982#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 34: Hoare triple {3982#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 35: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 36: Hoare triple {3982#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 37: Hoare triple {3982#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 38: Hoare triple {3982#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 39: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,610 INFO L273 TraceCheckUtils]: 40: Hoare triple {3982#true} assume !(~i~0 < ~n~0); {3982#true} is VALID [2018-11-18 23:58:14,611 INFO L273 TraceCheckUtils]: 41: Hoare triple {3982#true} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3982#true} is VALID [2018-11-18 23:58:14,611 INFO L273 TraceCheckUtils]: 42: Hoare triple {3982#true} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3982#true} is VALID [2018-11-18 23:58:14,611 INFO L273 TraceCheckUtils]: 43: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,611 INFO L273 TraceCheckUtils]: 44: Hoare triple {3982#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:14,612 INFO L273 TraceCheckUtils]: 45: Hoare triple {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} assume true; {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:14,612 INFO L273 TraceCheckUtils]: 46: Hoare triple {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:14,612 INFO L273 TraceCheckUtils]: 47: Hoare triple {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:14,613 INFO L273 TraceCheckUtils]: 48: Hoare triple {3984#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3985#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))} is VALID [2018-11-18 23:58:14,613 INFO L273 TraceCheckUtils]: 49: Hoare triple {3985#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))} assume true; {3985#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))} is VALID [2018-11-18 23:58:14,614 INFO L273 TraceCheckUtils]: 50: Hoare triple {3985#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))} assume !(~i~0 < ~n~0); {3986#(<= ~n~0 (+ SelectionSort_~lh~0 2))} is VALID [2018-11-18 23:58:14,614 INFO L273 TraceCheckUtils]: 51: Hoare triple {3986#(<= ~n~0 (+ SelectionSort_~lh~0 2))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3986#(<= ~n~0 (+ SelectionSort_~lh~0 2))} is VALID [2018-11-18 23:58:14,615 INFO L273 TraceCheckUtils]: 52: Hoare triple {3986#(<= ~n~0 (+ SelectionSort_~lh~0 2))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3987#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:14,615 INFO L273 TraceCheckUtils]: 53: Hoare triple {3987#(<= ~n~0 (+ SelectionSort_~lh~0 1))} assume true; {3987#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2018-11-18 23:58:14,615 INFO L273 TraceCheckUtils]: 54: Hoare triple {3987#(<= ~n~0 (+ SelectionSort_~lh~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3988#(<= ~n~0 SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,616 INFO L273 TraceCheckUtils]: 55: Hoare triple {3988#(<= ~n~0 SelectionSort_~i~0)} assume true; {3988#(<= ~n~0 SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,617 INFO L273 TraceCheckUtils]: 56: Hoare triple {3988#(<= ~n~0 SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3983#false} is VALID [2018-11-18 23:58:14,617 INFO L273 TraceCheckUtils]: 57: Hoare triple {3983#false} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3983#false} is VALID [2018-11-18 23:58:14,617 INFO L273 TraceCheckUtils]: 58: Hoare triple {3983#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3983#false} is VALID [2018-11-18 23:58:14,617 INFO L273 TraceCheckUtils]: 59: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:14,618 INFO L273 TraceCheckUtils]: 60: Hoare triple {3983#false} assume !(~i~0 < ~n~0); {3983#false} is VALID [2018-11-18 23:58:14,618 INFO L273 TraceCheckUtils]: 61: Hoare triple {3983#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3983#false} is VALID [2018-11-18 23:58:14,618 INFO L273 TraceCheckUtils]: 62: Hoare triple {3983#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3983#false} is VALID [2018-11-18 23:58:14,618 INFO L273 TraceCheckUtils]: 63: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:14,619 INFO L273 TraceCheckUtils]: 64: Hoare triple {3983#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3983#false} is VALID [2018-11-18 23:58:14,619 INFO L273 TraceCheckUtils]: 65: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:14,619 INFO L273 TraceCheckUtils]: 66: Hoare triple {3983#false} assume !(~i~0 < ~n~0); {3983#false} is VALID [2018-11-18 23:58:14,619 INFO L273 TraceCheckUtils]: 67: Hoare triple {3983#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3983#false} is VALID [2018-11-18 23:58:14,619 INFO L273 TraceCheckUtils]: 68: Hoare triple {3983#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L273 TraceCheckUtils]: 69: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L273 TraceCheckUtils]: 70: Hoare triple {3983#false} assume !(~lh~0 < ~n~0); {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L273 TraceCheckUtils]: 71: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3983#false} {3982#true} #92#return; {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L273 TraceCheckUtils]: 73: Hoare triple {3983#false} ~i~1 := 0; {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L273 TraceCheckUtils]: 74: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L273 TraceCheckUtils]: 75: Hoare triple {3983#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3983#false} is VALID [2018-11-18 23:58:14,620 INFO L256 TraceCheckUtils]: 76: Hoare triple {3983#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {3983#false} is VALID [2018-11-18 23:58:14,621 INFO L273 TraceCheckUtils]: 77: Hoare triple {3983#false} ~cond := #in~cond; {3983#false} is VALID [2018-11-18 23:58:14,621 INFO L273 TraceCheckUtils]: 78: Hoare triple {3983#false} assume 0 == ~cond; {3983#false} is VALID [2018-11-18 23:58:14,621 INFO L273 TraceCheckUtils]: 79: Hoare triple {3983#false} assume !false; {3983#false} is VALID [2018-11-18 23:58:14,624 INFO L134 CoverageAnalysis]: Checked inductivity of 164 backedges. 92 proven. 6 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-18 23:58:14,624 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:14,624 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:14,636 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:58:14,668 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:58:14,668 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:14,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:14,695 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:14,949 INFO L256 TraceCheckUtils]: 0: Hoare triple {3982#true} call ULTIMATE.init(); {3982#true} is VALID [2018-11-18 23:58:14,950 INFO L273 TraceCheckUtils]: 1: Hoare triple {3982#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {3982#true} is VALID [2018-11-18 23:58:14,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,950 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3982#true} {3982#true} #88#return; {3982#true} is VALID [2018-11-18 23:58:14,950 INFO L256 TraceCheckUtils]: 4: Hoare triple {3982#true} call #t~ret9 := main(); {3982#true} is VALID [2018-11-18 23:58:14,951 INFO L273 TraceCheckUtils]: 5: Hoare triple {3982#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {3982#true} is VALID [2018-11-18 23:58:14,951 INFO L273 TraceCheckUtils]: 6: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,951 INFO L273 TraceCheckUtils]: 7: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,951 INFO L273 TraceCheckUtils]: 8: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,952 INFO L273 TraceCheckUtils]: 9: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,952 INFO L273 TraceCheckUtils]: 10: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,952 INFO L273 TraceCheckUtils]: 11: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,952 INFO L273 TraceCheckUtils]: 12: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,952 INFO L273 TraceCheckUtils]: 13: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,952 INFO L273 TraceCheckUtils]: 14: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,952 INFO L273 TraceCheckUtils]: 15: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,953 INFO L273 TraceCheckUtils]: 16: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,953 INFO L273 TraceCheckUtils]: 17: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,953 INFO L273 TraceCheckUtils]: 18: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,953 INFO L273 TraceCheckUtils]: 19: Hoare triple {3982#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3982#true} is VALID [2018-11-18 23:58:14,953 INFO L273 TraceCheckUtils]: 20: Hoare triple {3982#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {3982#true} is VALID [2018-11-18 23:58:14,953 INFO L273 TraceCheckUtils]: 21: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,954 INFO L273 TraceCheckUtils]: 22: Hoare triple {3982#true} assume !(~i~1 >= 0); {3982#true} is VALID [2018-11-18 23:58:14,954 INFO L256 TraceCheckUtils]: 23: Hoare triple {3982#true} call SelectionSort(); {3982#true} is VALID [2018-11-18 23:58:14,954 INFO L273 TraceCheckUtils]: 24: Hoare triple {3982#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3982#true} is VALID [2018-11-18 23:58:14,954 INFO L273 TraceCheckUtils]: 25: Hoare triple {3982#true} assume true; {3982#true} is VALID [2018-11-18 23:58:14,957 INFO L273 TraceCheckUtils]: 26: Hoare triple {3982#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,958 INFO L273 TraceCheckUtils]: 27: Hoare triple {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume true; {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,959 INFO L273 TraceCheckUtils]: 28: Hoare triple {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,959 INFO L273 TraceCheckUtils]: 29: Hoare triple {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,960 INFO L273 TraceCheckUtils]: 30: Hoare triple {4070#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,960 INFO L273 TraceCheckUtils]: 31: Hoare triple {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume true; {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,961 INFO L273 TraceCheckUtils]: 32: Hoare triple {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,961 INFO L273 TraceCheckUtils]: 33: Hoare triple {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,962 INFO L273 TraceCheckUtils]: 34: Hoare triple {4083#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4096#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,984 INFO L273 TraceCheckUtils]: 35: Hoare triple {4096#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume true; {4096#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:14,999 INFO L273 TraceCheckUtils]: 36: Hoare triple {4096#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:15,008 INFO L273 TraceCheckUtils]: 37: Hoare triple {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:15,021 INFO L273 TraceCheckUtils]: 38: Hoare triple {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:15,030 INFO L273 TraceCheckUtils]: 39: Hoare triple {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} assume true; {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:15,044 INFO L273 TraceCheckUtils]: 40: Hoare triple {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:15,053 INFO L273 TraceCheckUtils]: 41: Hoare triple {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:15,066 INFO L273 TraceCheckUtils]: 42: Hoare triple {4103#(<= (+ SelectionSort_~lh~0 4) ~n~0)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4122#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:15,073 INFO L273 TraceCheckUtils]: 43: Hoare triple {4122#(<= (+ SelectionSort_~lh~0 3) ~n~0)} assume true; {4122#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:15,074 INFO L273 TraceCheckUtils]: 44: Hoare triple {4122#(<= (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:15,075 INFO L273 TraceCheckUtils]: 45: Hoare triple {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} assume true; {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:15,075 INFO L273 TraceCheckUtils]: 46: Hoare triple {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:15,077 INFO L273 TraceCheckUtils]: 47: Hoare triple {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:15,077 INFO L273 TraceCheckUtils]: 48: Hoare triple {4129#(<= (+ SelectionSort_~i~0 2) ~n~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4142#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2018-11-18 23:58:15,079 INFO L273 TraceCheckUtils]: 49: Hoare triple {4142#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume true; {4142#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2018-11-18 23:58:15,079 INFO L273 TraceCheckUtils]: 50: Hoare triple {4142#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {3983#false} is VALID [2018-11-18 23:58:15,079 INFO L273 TraceCheckUtils]: 51: Hoare triple {3983#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3983#false} is VALID [2018-11-18 23:58:15,079 INFO L273 TraceCheckUtils]: 52: Hoare triple {3983#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3983#false} is VALID [2018-11-18 23:58:15,080 INFO L273 TraceCheckUtils]: 53: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,080 INFO L273 TraceCheckUtils]: 54: Hoare triple {3983#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3983#false} is VALID [2018-11-18 23:58:15,080 INFO L273 TraceCheckUtils]: 55: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,080 INFO L273 TraceCheckUtils]: 56: Hoare triple {3983#false} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3983#false} is VALID [2018-11-18 23:58:15,080 INFO L273 TraceCheckUtils]: 57: Hoare triple {3983#false} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {3983#false} is VALID [2018-11-18 23:58:15,080 INFO L273 TraceCheckUtils]: 58: Hoare triple {3983#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {3983#false} is VALID [2018-11-18 23:58:15,081 INFO L273 TraceCheckUtils]: 59: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,081 INFO L273 TraceCheckUtils]: 60: Hoare triple {3983#false} assume !(~i~0 < ~n~0); {3983#false} is VALID [2018-11-18 23:58:15,081 INFO L273 TraceCheckUtils]: 61: Hoare triple {3983#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3983#false} is VALID [2018-11-18 23:58:15,081 INFO L273 TraceCheckUtils]: 62: Hoare triple {3983#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3983#false} is VALID [2018-11-18 23:58:15,082 INFO L273 TraceCheckUtils]: 63: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,082 INFO L273 TraceCheckUtils]: 64: Hoare triple {3983#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3983#false} is VALID [2018-11-18 23:58:15,082 INFO L273 TraceCheckUtils]: 65: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,082 INFO L273 TraceCheckUtils]: 66: Hoare triple {3983#false} assume !(~i~0 < ~n~0); {3983#false} is VALID [2018-11-18 23:58:15,083 INFO L273 TraceCheckUtils]: 67: Hoare triple {3983#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3983#false} is VALID [2018-11-18 23:58:15,083 INFO L273 TraceCheckUtils]: 68: Hoare triple {3983#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {3983#false} is VALID [2018-11-18 23:58:15,083 INFO L273 TraceCheckUtils]: 69: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,083 INFO L273 TraceCheckUtils]: 70: Hoare triple {3983#false} assume !(~lh~0 < ~n~0); {3983#false} is VALID [2018-11-18 23:58:15,083 INFO L273 TraceCheckUtils]: 71: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,083 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3983#false} {3982#true} #92#return; {3983#false} is VALID [2018-11-18 23:58:15,084 INFO L273 TraceCheckUtils]: 73: Hoare triple {3983#false} ~i~1 := 0; {3983#false} is VALID [2018-11-18 23:58:15,084 INFO L273 TraceCheckUtils]: 74: Hoare triple {3983#false} assume true; {3983#false} is VALID [2018-11-18 23:58:15,084 INFO L273 TraceCheckUtils]: 75: Hoare triple {3983#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3983#false} is VALID [2018-11-18 23:58:15,084 INFO L256 TraceCheckUtils]: 76: Hoare triple {3983#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {3983#false} is VALID [2018-11-18 23:58:15,084 INFO L273 TraceCheckUtils]: 77: Hoare triple {3983#false} ~cond := #in~cond; {3983#false} is VALID [2018-11-18 23:58:15,084 INFO L273 TraceCheckUtils]: 78: Hoare triple {3983#false} assume 0 == ~cond; {3983#false} is VALID [2018-11-18 23:58:15,084 INFO L273 TraceCheckUtils]: 79: Hoare triple {3983#false} assume !false; {3983#false} is VALID [2018-11-18 23:58:15,093 INFO L134 CoverageAnalysis]: Checked inductivity of 164 backedges. 72 proven. 34 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2018-11-18 23:58:15,113 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:15,113 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 9] total 14 [2018-11-18 23:58:15,114 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 80 [2018-11-18 23:58:15,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:15,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-18 23:58:15,198 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:15,198 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-18 23:58:15,199 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-18 23:58:15,199 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2018-11-18 23:58:15,199 INFO L87 Difference]: Start difference. First operand 85 states and 95 transitions. Second operand 14 states. [2018-11-18 23:58:16,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:16,601 INFO L93 Difference]: Finished difference Result 157 states and 182 transitions. [2018-11-18 23:58:16,601 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-18 23:58:16,601 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 80 [2018-11-18 23:58:16,602 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:16,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-18 23:58:16,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 102 transitions. [2018-11-18 23:58:16,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-18 23:58:16,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 102 transitions. [2018-11-18 23:58:16,606 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 102 transitions. [2018-11-18 23:58:17,648 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:17,652 INFO L225 Difference]: With dead ends: 157 [2018-11-18 23:58:17,652 INFO L226 Difference]: Without dead ends: 123 [2018-11-18 23:58:17,653 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=143, Invalid=613, Unknown=0, NotChecked=0, Total=756 [2018-11-18 23:58:17,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-11-18 23:58:17,829 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 113. [2018-11-18 23:58:17,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:17,830 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 113 states. [2018-11-18 23:58:17,830 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 113 states. [2018-11-18 23:58:17,830 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 113 states. [2018-11-18 23:58:17,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:17,835 INFO L93 Difference]: Finished difference Result 123 states and 141 transitions. [2018-11-18 23:58:17,835 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 141 transitions. [2018-11-18 23:58:17,835 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:17,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:17,836 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 123 states. [2018-11-18 23:58:17,836 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 123 states. [2018-11-18 23:58:17,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:17,838 INFO L93 Difference]: Finished difference Result 123 states and 141 transitions. [2018-11-18 23:58:17,838 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 141 transitions. [2018-11-18 23:58:17,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:17,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:17,839 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:17,839 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:17,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-18 23:58:17,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 129 transitions. [2018-11-18 23:58:17,842 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 129 transitions. Word has length 80 [2018-11-18 23:58:17,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:17,843 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 129 transitions. [2018-11-18 23:58:17,843 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-18 23:58:17,843 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 129 transitions. [2018-11-18 23:58:17,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2018-11-18 23:58:17,844 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:17,844 INFO L375 BasicCegarLoop]: trace histogram [10, 6, 6, 6, 6, 5, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:17,844 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:17,844 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:17,845 INFO L82 PathProgramCache]: Analyzing trace with hash -191485105, now seen corresponding path program 5 times [2018-11-18 23:58:17,845 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:17,845 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:17,846 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:17,846 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:17,846 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:17,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:18,103 INFO L256 TraceCheckUtils]: 0: Hoare triple {4870#true} call ULTIMATE.init(); {4870#true} is VALID [2018-11-18 23:58:18,104 INFO L273 TraceCheckUtils]: 1: Hoare triple {4870#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,105 INFO L273 TraceCheckUtils]: 2: Hoare triple {4872#(<= 5 ~n~0)} assume true; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,106 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4872#(<= 5 ~n~0)} {4870#true} #88#return; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,106 INFO L256 TraceCheckUtils]: 4: Hoare triple {4872#(<= 5 ~n~0)} call #t~ret9 := main(); {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,107 INFO L273 TraceCheckUtils]: 5: Hoare triple {4872#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,107 INFO L273 TraceCheckUtils]: 6: Hoare triple {4872#(<= 5 ~n~0)} assume true; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,108 INFO L273 TraceCheckUtils]: 7: Hoare triple {4872#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,108 INFO L273 TraceCheckUtils]: 8: Hoare triple {4872#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,109 INFO L273 TraceCheckUtils]: 9: Hoare triple {4872#(<= 5 ~n~0)} assume true; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,109 INFO L273 TraceCheckUtils]: 10: Hoare triple {4872#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,110 INFO L273 TraceCheckUtils]: 11: Hoare triple {4872#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,111 INFO L273 TraceCheckUtils]: 12: Hoare triple {4872#(<= 5 ~n~0)} assume true; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,111 INFO L273 TraceCheckUtils]: 13: Hoare triple {4872#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,112 INFO L273 TraceCheckUtils]: 14: Hoare triple {4872#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,112 INFO L273 TraceCheckUtils]: 15: Hoare triple {4872#(<= 5 ~n~0)} assume true; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,113 INFO L273 TraceCheckUtils]: 16: Hoare triple {4872#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,113 INFO L273 TraceCheckUtils]: 17: Hoare triple {4872#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,114 INFO L273 TraceCheckUtils]: 18: Hoare triple {4872#(<= 5 ~n~0)} assume true; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,114 INFO L273 TraceCheckUtils]: 19: Hoare triple {4872#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,115 INFO L273 TraceCheckUtils]: 20: Hoare triple {4872#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,115 INFO L273 TraceCheckUtils]: 21: Hoare triple {4872#(<= 5 ~n~0)} assume true; {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,116 INFO L273 TraceCheckUtils]: 22: Hoare triple {4872#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4872#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:18,116 INFO L256 TraceCheckUtils]: 23: Hoare triple {4872#(<= 5 ~n~0)} call SelectionSort(); {4870#true} is VALID [2018-11-18 23:58:18,117 INFO L273 TraceCheckUtils]: 24: Hoare triple {4870#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4873#(= SelectionSort_~lh~0 0)} is VALID [2018-11-18 23:58:18,117 INFO L273 TraceCheckUtils]: 25: Hoare triple {4873#(= SelectionSort_~lh~0 0)} assume true; {4873#(= SelectionSort_~lh~0 0)} is VALID [2018-11-18 23:58:18,118 INFO L273 TraceCheckUtils]: 26: Hoare triple {4873#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,119 INFO L273 TraceCheckUtils]: 27: Hoare triple {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume true; {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,119 INFO L273 TraceCheckUtils]: 28: Hoare triple {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,120 INFO L273 TraceCheckUtils]: 29: Hoare triple {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,121 INFO L273 TraceCheckUtils]: 30: Hoare triple {4874#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,122 INFO L273 TraceCheckUtils]: 31: Hoare triple {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} assume true; {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,123 INFO L273 TraceCheckUtils]: 32: Hoare triple {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,123 INFO L273 TraceCheckUtils]: 33: Hoare triple {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,124 INFO L273 TraceCheckUtils]: 34: Hoare triple {4875#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= SelectionSort_~lh~0 0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,125 INFO L273 TraceCheckUtils]: 35: Hoare triple {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume true; {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,126 INFO L273 TraceCheckUtils]: 36: Hoare triple {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,126 INFO L273 TraceCheckUtils]: 37: Hoare triple {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2018-11-18 23:58:18,127 INFO L273 TraceCheckUtils]: 38: Hoare triple {4876#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4877#(and (= SelectionSort_~lh~0 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2018-11-18 23:58:18,128 INFO L273 TraceCheckUtils]: 39: Hoare triple {4877#(and (= SelectionSort_~lh~0 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume true; {4877#(and (= SelectionSort_~lh~0 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2018-11-18 23:58:18,129 INFO L273 TraceCheckUtils]: 40: Hoare triple {4877#(and (= SelectionSort_~lh~0 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume !(~i~0 < ~n~0); {4878#(and (= SelectionSort_~lh~0 0) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2018-11-18 23:58:18,130 INFO L273 TraceCheckUtils]: 41: Hoare triple {4878#(and (= SelectionSort_~lh~0 0) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4878#(and (= SelectionSort_~lh~0 0) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2018-11-18 23:58:18,131 INFO L273 TraceCheckUtils]: 42: Hoare triple {4878#(and (= SelectionSort_~lh~0 0) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,131 INFO L273 TraceCheckUtils]: 43: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,132 INFO L273 TraceCheckUtils]: 44: Hoare triple {4879#(<= ~n~0 4)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,132 INFO L273 TraceCheckUtils]: 45: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,133 INFO L273 TraceCheckUtils]: 46: Hoare triple {4879#(<= ~n~0 4)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,133 INFO L273 TraceCheckUtils]: 47: Hoare triple {4879#(<= ~n~0 4)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,134 INFO L273 TraceCheckUtils]: 48: Hoare triple {4879#(<= ~n~0 4)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,134 INFO L273 TraceCheckUtils]: 49: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,135 INFO L273 TraceCheckUtils]: 50: Hoare triple {4879#(<= ~n~0 4)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,135 INFO L273 TraceCheckUtils]: 51: Hoare triple {4879#(<= ~n~0 4)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,136 INFO L273 TraceCheckUtils]: 52: Hoare triple {4879#(<= ~n~0 4)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,136 INFO L273 TraceCheckUtils]: 53: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,137 INFO L273 TraceCheckUtils]: 54: Hoare triple {4879#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,137 INFO L273 TraceCheckUtils]: 55: Hoare triple {4879#(<= ~n~0 4)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,138 INFO L273 TraceCheckUtils]: 56: Hoare triple {4879#(<= ~n~0 4)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,139 INFO L273 TraceCheckUtils]: 57: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,139 INFO L273 TraceCheckUtils]: 58: Hoare triple {4879#(<= ~n~0 4)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,140 INFO L273 TraceCheckUtils]: 59: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,140 INFO L273 TraceCheckUtils]: 60: Hoare triple {4879#(<= ~n~0 4)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,141 INFO L273 TraceCheckUtils]: 61: Hoare triple {4879#(<= ~n~0 4)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,141 INFO L273 TraceCheckUtils]: 62: Hoare triple {4879#(<= ~n~0 4)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,142 INFO L273 TraceCheckUtils]: 63: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,142 INFO L273 TraceCheckUtils]: 64: Hoare triple {4879#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,143 INFO L273 TraceCheckUtils]: 65: Hoare triple {4879#(<= ~n~0 4)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,143 INFO L273 TraceCheckUtils]: 66: Hoare triple {4879#(<= ~n~0 4)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,144 INFO L273 TraceCheckUtils]: 67: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,144 INFO L273 TraceCheckUtils]: 68: Hoare triple {4879#(<= ~n~0 4)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,145 INFO L273 TraceCheckUtils]: 69: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,145 INFO L273 TraceCheckUtils]: 70: Hoare triple {4879#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,146 INFO L273 TraceCheckUtils]: 71: Hoare triple {4879#(<= ~n~0 4)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,146 INFO L273 TraceCheckUtils]: 72: Hoare triple {4879#(<= ~n~0 4)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,147 INFO L273 TraceCheckUtils]: 73: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,147 INFO L273 TraceCheckUtils]: 74: Hoare triple {4879#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,148 INFO L273 TraceCheckUtils]: 75: Hoare triple {4879#(<= ~n~0 4)} assume true; {4879#(<= ~n~0 4)} is VALID [2018-11-18 23:58:18,149 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {4879#(<= ~n~0 4)} {4872#(<= 5 ~n~0)} #92#return; {4871#false} is VALID [2018-11-18 23:58:18,149 INFO L273 TraceCheckUtils]: 77: Hoare triple {4871#false} ~i~1 := 0; {4871#false} is VALID [2018-11-18 23:58:18,149 INFO L273 TraceCheckUtils]: 78: Hoare triple {4871#false} assume true; {4871#false} is VALID [2018-11-18 23:58:18,150 INFO L273 TraceCheckUtils]: 79: Hoare triple {4871#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4871#false} is VALID [2018-11-18 23:58:18,150 INFO L256 TraceCheckUtils]: 80: Hoare triple {4871#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {4871#false} is VALID [2018-11-18 23:58:18,150 INFO L273 TraceCheckUtils]: 81: Hoare triple {4871#false} ~cond := #in~cond; {4871#false} is VALID [2018-11-18 23:58:18,150 INFO L273 TraceCheckUtils]: 82: Hoare triple {4871#false} assume 0 == ~cond; {4871#false} is VALID [2018-11-18 23:58:18,150 INFO L273 TraceCheckUtils]: 83: Hoare triple {4871#false} assume !false; {4871#false} is VALID [2018-11-18 23:58:18,158 INFO L134 CoverageAnalysis]: Checked inductivity of 192 backedges. 0 proven. 98 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2018-11-18 23:58:18,158 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:18,158 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:18,167 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-18 23:58:18,224 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2018-11-18 23:58:18,224 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:18,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:18,248 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:18,462 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-18 23:58:18,469 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-11-18 23:58:18,499 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 28 treesize of output 38 [2018-11-18 23:58:18,519 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 2 xjuncts. [2018-11-18 23:58:18,541 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:18,543 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:18,557 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:18,557 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:39, output treesize:1 [2018-11-18 23:58:18,561 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:19,048 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 55 [2018-11-18 23:58:19,094 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,117 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,139 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,154 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,160 INFO L303 Elim1Store]: Index analysis took 104 ms [2018-11-18 23:58:19,163 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 96 [2018-11-18 23:58:19,193 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,194 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,195 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,202 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,205 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 91 [2018-11-18 23:58:19,208 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:19,220 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:19,225 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:19,237 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:19,238 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:76, output treesize:34 [2018-11-18 23:58:19,243 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:19,486 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 38 [2018-11-18 23:58:19,493 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,494 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:19,497 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 29 [2018-11-18 23:58:19,505 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:19,510 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:19,522 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:19,522 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:54, output treesize:5 [2018-11-18 23:58:19,524 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:19,562 INFO L256 TraceCheckUtils]: 0: Hoare triple {4870#true} call ULTIMATE.init(); {4870#true} is VALID [2018-11-18 23:58:19,562 INFO L273 TraceCheckUtils]: 1: Hoare triple {4870#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {4870#true} is VALID [2018-11-18 23:58:19,563 INFO L273 TraceCheckUtils]: 2: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,563 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4870#true} {4870#true} #88#return; {4870#true} is VALID [2018-11-18 23:58:19,563 INFO L256 TraceCheckUtils]: 4: Hoare triple {4870#true} call #t~ret9 := main(); {4870#true} is VALID [2018-11-18 23:58:19,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {4870#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {4870#true} is VALID [2018-11-18 23:58:19,563 INFO L273 TraceCheckUtils]: 6: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,564 INFO L273 TraceCheckUtils]: 7: Hoare triple {4870#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4870#true} is VALID [2018-11-18 23:58:19,564 INFO L273 TraceCheckUtils]: 8: Hoare triple {4870#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4870#true} is VALID [2018-11-18 23:58:19,564 INFO L273 TraceCheckUtils]: 9: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,564 INFO L273 TraceCheckUtils]: 10: Hoare triple {4870#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4870#true} is VALID [2018-11-18 23:58:19,565 INFO L273 TraceCheckUtils]: 11: Hoare triple {4870#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4870#true} is VALID [2018-11-18 23:58:19,565 INFO L273 TraceCheckUtils]: 12: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,565 INFO L273 TraceCheckUtils]: 13: Hoare triple {4870#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4870#true} is VALID [2018-11-18 23:58:19,565 INFO L273 TraceCheckUtils]: 14: Hoare triple {4870#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4870#true} is VALID [2018-11-18 23:58:19,565 INFO L273 TraceCheckUtils]: 15: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,565 INFO L273 TraceCheckUtils]: 16: Hoare triple {4870#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4870#true} is VALID [2018-11-18 23:58:19,565 INFO L273 TraceCheckUtils]: 17: Hoare triple {4870#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 18: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 19: Hoare triple {4870#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 20: Hoare triple {4870#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 21: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 22: Hoare triple {4870#true} assume !(~i~1 >= 0); {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L256 TraceCheckUtils]: 23: Hoare triple {4870#true} call SelectionSort(); {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 24: Hoare triple {4870#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 25: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,566 INFO L273 TraceCheckUtils]: 26: Hoare triple {4870#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 27: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 28: Hoare triple {4870#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 29: Hoare triple {4870#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 30: Hoare triple {4870#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 31: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 32: Hoare triple {4870#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 33: Hoare triple {4870#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4870#true} is VALID [2018-11-18 23:58:19,567 INFO L273 TraceCheckUtils]: 34: Hoare triple {4870#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4870#true} is VALID [2018-11-18 23:58:19,568 INFO L273 TraceCheckUtils]: 35: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,568 INFO L273 TraceCheckUtils]: 36: Hoare triple {4870#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4991#(< SelectionSort_~i~0 ~n~0)} is VALID [2018-11-18 23:58:19,569 INFO L273 TraceCheckUtils]: 37: Hoare triple {4991#(< SelectionSort_~i~0 ~n~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4995#(and (< SelectionSort_~i~0 ~n~0) (= SelectionSort_~i~0 SelectionSort_~rh~0))} is VALID [2018-11-18 23:58:19,570 INFO L273 TraceCheckUtils]: 38: Hoare triple {4995#(and (< SelectionSort_~i~0 ~n~0) (= SelectionSort_~i~0 SelectionSort_~rh~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4999#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0))} is VALID [2018-11-18 23:58:19,570 INFO L273 TraceCheckUtils]: 39: Hoare triple {4999#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0))} assume true; {4999#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0))} is VALID [2018-11-18 23:58:19,570 INFO L273 TraceCheckUtils]: 40: Hoare triple {4999#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0))} assume !(~i~0 < ~n~0); {5006#(and (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))} is VALID [2018-11-18 23:58:19,571 INFO L273 TraceCheckUtils]: 41: Hoare triple {5006#(and (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4870#true} is VALID [2018-11-18 23:58:19,571 INFO L273 TraceCheckUtils]: 42: Hoare triple {4870#true} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4870#true} is VALID [2018-11-18 23:58:19,571 INFO L273 TraceCheckUtils]: 43: Hoare triple {4870#true} assume true; {4870#true} is VALID [2018-11-18 23:58:19,571 INFO L273 TraceCheckUtils]: 44: Hoare triple {4870#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5019#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2018-11-18 23:58:19,572 INFO L273 TraceCheckUtils]: 45: Hoare triple {5019#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume true; {5019#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2018-11-18 23:58:19,572 INFO L273 TraceCheckUtils]: 46: Hoare triple {5019#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5026#(and (< SelectionSort_~i~0 ~n~0) (<= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) |SelectionSort_#t~mem2|))} is VALID [2018-11-18 23:58:19,573 INFO L273 TraceCheckUtils]: 47: Hoare triple {5026#(and (< SelectionSort_~i~0 ~n~0) (<= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) |SelectionSort_#t~mem2|))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {5030#(and (< SelectionSort_~i~0 ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2018-11-18 23:58:19,575 INFO L273 TraceCheckUtils]: 48: Hoare triple {5030#(and (< SelectionSort_~i~0 ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {5034#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:19,575 INFO L273 TraceCheckUtils]: 49: Hoare triple {5034#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} assume true; {5034#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:19,576 INFO L273 TraceCheckUtils]: 50: Hoare triple {5034#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5041#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< SelectionSort_~i~0 ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:19,577 INFO L273 TraceCheckUtils]: 51: Hoare triple {5041#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< SelectionSort_~i~0 ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {5045#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< SelectionSort_~i~0 ~n~0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:19,579 INFO L273 TraceCheckUtils]: 52: Hoare triple {5045#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< SelectionSort_~i~0 ~n~0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {5049#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 2) ~n~0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2018-11-18 23:58:19,580 INFO L273 TraceCheckUtils]: 53: Hoare triple {5049#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 2) ~n~0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume true; {5049#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 2) ~n~0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2018-11-18 23:58:19,581 INFO L273 TraceCheckUtils]: 54: Hoare triple {5049#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 2) ~n~0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {5056#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 2) ~n~0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2018-11-18 23:58:19,583 INFO L273 TraceCheckUtils]: 55: Hoare triple {5056#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 2) ~n~0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5060#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (< (+ SelectionSort_~lh~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 8))))} is VALID [2018-11-18 23:58:19,584 INFO L273 TraceCheckUtils]: 56: Hoare triple {5060#(and (<= ~n~0 (+ SelectionSort_~lh~0 3)) (< (+ SelectionSort_~lh~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 8))))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {5064#(and (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4))) (<= ~n~0 (+ SelectionSort_~lh~0 2)))} is VALID [2018-11-18 23:58:19,585 INFO L273 TraceCheckUtils]: 57: Hoare triple {5064#(and (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4))) (<= ~n~0 (+ SelectionSort_~lh~0 2)))} assume true; {5064#(and (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4))) (<= ~n~0 (+ SelectionSort_~lh~0 2)))} is VALID [2018-11-18 23:58:19,586 INFO L273 TraceCheckUtils]: 58: Hoare triple {5064#(and (< (+ SelectionSort_~lh~0 1) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~lh~0) |~#array~0.offset| 4))) (<= ~n~0 (+ SelectionSort_~lh~0 2)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5071#(and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset| 4))) (< (+ SelectionSort_~rh~0 1) ~n~0))} is VALID [2018-11-18 23:58:19,587 INFO L273 TraceCheckUtils]: 59: Hoare triple {5071#(and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset| 4))) (< (+ SelectionSort_~rh~0 1) ~n~0))} assume true; {5071#(and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset| 4))) (< (+ SelectionSort_~rh~0 1) ~n~0))} is VALID [2018-11-18 23:58:19,589 INFO L273 TraceCheckUtils]: 60: Hoare triple {5071#(and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset| 4))) (< (+ SelectionSort_~rh~0 1) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5078#(<= (+ |SelectionSort_#t~mem3| 1) |SelectionSort_#t~mem2|)} is VALID [2018-11-18 23:58:19,590 INFO L273 TraceCheckUtils]: 61: Hoare triple {5078#(<= (+ |SelectionSort_#t~mem3| 1) |SelectionSort_#t~mem2|)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {4871#false} is VALID [2018-11-18 23:58:19,590 INFO L273 TraceCheckUtils]: 62: Hoare triple {4871#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {4871#false} is VALID [2018-11-18 23:58:19,590 INFO L273 TraceCheckUtils]: 63: Hoare triple {4871#false} assume true; {4871#false} is VALID [2018-11-18 23:58:19,590 INFO L273 TraceCheckUtils]: 64: Hoare triple {4871#false} assume !(~i~0 < ~n~0); {4871#false} is VALID [2018-11-18 23:58:19,590 INFO L273 TraceCheckUtils]: 65: Hoare triple {4871#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4871#false} is VALID [2018-11-18 23:58:19,591 INFO L273 TraceCheckUtils]: 66: Hoare triple {4871#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4871#false} is VALID [2018-11-18 23:58:19,591 INFO L273 TraceCheckUtils]: 67: Hoare triple {4871#false} assume true; {4871#false} is VALID [2018-11-18 23:58:19,591 INFO L273 TraceCheckUtils]: 68: Hoare triple {4871#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4871#false} is VALID [2018-11-18 23:58:19,591 INFO L273 TraceCheckUtils]: 69: Hoare triple {4871#false} assume true; {4871#false} is VALID [2018-11-18 23:58:19,592 INFO L273 TraceCheckUtils]: 70: Hoare triple {4871#false} assume !(~i~0 < ~n~0); {4871#false} is VALID [2018-11-18 23:58:19,592 INFO L273 TraceCheckUtils]: 71: Hoare triple {4871#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4871#false} is VALID [2018-11-18 23:58:19,592 INFO L273 TraceCheckUtils]: 72: Hoare triple {4871#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {4871#false} is VALID [2018-11-18 23:58:19,592 INFO L273 TraceCheckUtils]: 73: Hoare triple {4871#false} assume true; {4871#false} is VALID [2018-11-18 23:58:19,592 INFO L273 TraceCheckUtils]: 74: Hoare triple {4871#false} assume !(~lh~0 < ~n~0); {4871#false} is VALID [2018-11-18 23:58:19,593 INFO L273 TraceCheckUtils]: 75: Hoare triple {4871#false} assume true; {4871#false} is VALID [2018-11-18 23:58:19,593 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {4871#false} {4870#true} #92#return; {4871#false} is VALID [2018-11-18 23:58:19,593 INFO L273 TraceCheckUtils]: 77: Hoare triple {4871#false} ~i~1 := 0; {4871#false} is VALID [2018-11-18 23:58:19,593 INFO L273 TraceCheckUtils]: 78: Hoare triple {4871#false} assume true; {4871#false} is VALID [2018-11-18 23:58:19,593 INFO L273 TraceCheckUtils]: 79: Hoare triple {4871#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4871#false} is VALID [2018-11-18 23:58:19,593 INFO L256 TraceCheckUtils]: 80: Hoare triple {4871#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {4871#false} is VALID [2018-11-18 23:58:19,593 INFO L273 TraceCheckUtils]: 81: Hoare triple {4871#false} ~cond := #in~cond; {4871#false} is VALID [2018-11-18 23:58:19,594 INFO L273 TraceCheckUtils]: 82: Hoare triple {4871#false} assume 0 == ~cond; {4871#false} is VALID [2018-11-18 23:58:19,594 INFO L273 TraceCheckUtils]: 83: Hoare triple {4871#false} assume !false; {4871#false} is VALID [2018-11-18 23:58:19,604 INFO L134 CoverageAnalysis]: Checked inductivity of 192 backedges. 114 proven. 22 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2018-11-18 23:58:19,624 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:19,624 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 18] total 26 [2018-11-18 23:58:19,625 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 84 [2018-11-18 23:58:19,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:19,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-18 23:58:19,729 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:19,729 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-18 23:58:19,730 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-18 23:58:19,730 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=573, Unknown=0, NotChecked=0, Total=650 [2018-11-18 23:58:19,731 INFO L87 Difference]: Start difference. First operand 113 states and 129 transitions. Second operand 26 states. [2018-11-18 23:58:25,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:25,687 INFO L93 Difference]: Finished difference Result 306 states and 363 transitions. [2018-11-18 23:58:25,688 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2018-11-18 23:58:25,688 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 84 [2018-11-18 23:58:25,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:25,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-18 23:58:25,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 187 transitions. [2018-11-18 23:58:25,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-18 23:58:25,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 187 transitions. [2018-11-18 23:58:25,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states and 187 transitions. [2018-11-18 23:58:26,316 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:26,323 INFO L225 Difference]: With dead ends: 306 [2018-11-18 23:58:26,323 INFO L226 Difference]: Without dead ends: 234 [2018-11-18 23:58:26,325 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 92 SyntacticMatches, 0 SemanticMatches, 70 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1573 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=683, Invalid=4429, Unknown=0, NotChecked=0, Total=5112 [2018-11-18 23:58:26,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 234 states. [2018-11-18 23:58:26,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 234 to 138. [2018-11-18 23:58:26,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:26,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 234 states. Second operand 138 states. [2018-11-18 23:58:26,539 INFO L74 IsIncluded]: Start isIncluded. First operand 234 states. Second operand 138 states. [2018-11-18 23:58:26,539 INFO L87 Difference]: Start difference. First operand 234 states. Second operand 138 states. [2018-11-18 23:58:26,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:26,546 INFO L93 Difference]: Finished difference Result 234 states and 276 transitions. [2018-11-18 23:58:26,546 INFO L276 IsEmpty]: Start isEmpty. Operand 234 states and 276 transitions. [2018-11-18 23:58:26,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:26,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:26,547 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 234 states. [2018-11-18 23:58:26,547 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 234 states. [2018-11-18 23:58:26,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:26,553 INFO L93 Difference]: Finished difference Result 234 states and 276 transitions. [2018-11-18 23:58:26,553 INFO L276 IsEmpty]: Start isEmpty. Operand 234 states and 276 transitions. [2018-11-18 23:58:26,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:26,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:26,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:26,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:26,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 138 states. [2018-11-18 23:58:26,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 159 transitions. [2018-11-18 23:58:26,558 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 159 transitions. Word has length 84 [2018-11-18 23:58:26,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:26,558 INFO L480 AbstractCegarLoop]: Abstraction has 138 states and 159 transitions. [2018-11-18 23:58:26,558 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-18 23:58:26,558 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 159 transitions. [2018-11-18 23:58:26,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2018-11-18 23:58:26,559 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:26,560 INFO L375 BasicCegarLoop]: trace histogram [11, 7, 7, 6, 6, 5, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:26,560 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:26,560 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:26,560 INFO L82 PathProgramCache]: Analyzing trace with hash 1679834344, now seen corresponding path program 1 times [2018-11-18 23:58:26,561 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:26,561 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:26,562 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:26,562 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:26,562 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:26,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:27,537 INFO L256 TraceCheckUtils]: 0: Hoare triple {6303#true} call ULTIMATE.init(); {6303#true} is VALID [2018-11-18 23:58:27,537 INFO L273 TraceCheckUtils]: 1: Hoare triple {6303#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {6303#true} is VALID [2018-11-18 23:58:27,537 INFO L273 TraceCheckUtils]: 2: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,537 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6303#true} {6303#true} #88#return; {6303#true} is VALID [2018-11-18 23:58:27,538 INFO L256 TraceCheckUtils]: 4: Hoare triple {6303#true} call #t~ret9 := main(); {6303#true} is VALID [2018-11-18 23:58:27,538 INFO L273 TraceCheckUtils]: 5: Hoare triple {6303#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {6303#true} is VALID [2018-11-18 23:58:27,538 INFO L273 TraceCheckUtils]: 6: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,538 INFO L273 TraceCheckUtils]: 7: Hoare triple {6303#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6303#true} is VALID [2018-11-18 23:58:27,539 INFO L273 TraceCheckUtils]: 8: Hoare triple {6303#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6303#true} is VALID [2018-11-18 23:58:27,539 INFO L273 TraceCheckUtils]: 9: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,539 INFO L273 TraceCheckUtils]: 10: Hoare triple {6303#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6303#true} is VALID [2018-11-18 23:58:27,539 INFO L273 TraceCheckUtils]: 11: Hoare triple {6303#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6303#true} is VALID [2018-11-18 23:58:27,539 INFO L273 TraceCheckUtils]: 12: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,539 INFO L273 TraceCheckUtils]: 13: Hoare triple {6303#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6303#true} is VALID [2018-11-18 23:58:27,539 INFO L273 TraceCheckUtils]: 14: Hoare triple {6303#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 15: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 16: Hoare triple {6303#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 17: Hoare triple {6303#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 18: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 19: Hoare triple {6303#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 20: Hoare triple {6303#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 21: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,540 INFO L273 TraceCheckUtils]: 22: Hoare triple {6303#true} assume !(~i~1 >= 0); {6303#true} is VALID [2018-11-18 23:58:27,541 INFO L256 TraceCheckUtils]: 23: Hoare triple {6303#true} call SelectionSort(); {6303#true} is VALID [2018-11-18 23:58:27,541 INFO L273 TraceCheckUtils]: 24: Hoare triple {6303#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6303#true} is VALID [2018-11-18 23:58:27,541 INFO L273 TraceCheckUtils]: 25: Hoare triple {6303#true} assume true; {6303#true} is VALID [2018-11-18 23:58:27,541 INFO L273 TraceCheckUtils]: 26: Hoare triple {6303#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,542 INFO L273 TraceCheckUtils]: 27: Hoare triple {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume true; {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,542 INFO L273 TraceCheckUtils]: 28: Hoare triple {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,542 INFO L273 TraceCheckUtils]: 29: Hoare triple {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,543 INFO L273 TraceCheckUtils]: 30: Hoare triple {6305#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,543 INFO L273 TraceCheckUtils]: 31: Hoare triple {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume true; {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,543 INFO L273 TraceCheckUtils]: 32: Hoare triple {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,544 INFO L273 TraceCheckUtils]: 33: Hoare triple {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,544 INFO L273 TraceCheckUtils]: 34: Hoare triple {6306#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,545 INFO L273 TraceCheckUtils]: 35: Hoare triple {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume true; {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,546 INFO L273 TraceCheckUtils]: 36: Hoare triple {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,546 INFO L273 TraceCheckUtils]: 37: Hoare triple {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,547 INFO L273 TraceCheckUtils]: 38: Hoare triple {6307#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6308#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,547 INFO L273 TraceCheckUtils]: 39: Hoare triple {6308#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume true; {6308#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:27,548 INFO L273 TraceCheckUtils]: 40: Hoare triple {6308#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} is VALID [2018-11-18 23:58:27,549 INFO L273 TraceCheckUtils]: 41: Hoare triple {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} is VALID [2018-11-18 23:58:27,550 INFO L273 TraceCheckUtils]: 42: Hoare triple {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} is VALID [2018-11-18 23:58:27,550 INFO L273 TraceCheckUtils]: 43: Hoare triple {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} assume true; {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} is VALID [2018-11-18 23:58:27,551 INFO L273 TraceCheckUtils]: 44: Hoare triple {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} assume !(~i~0 < ~n~0); {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} is VALID [2018-11-18 23:58:27,551 INFO L273 TraceCheckUtils]: 45: Hoare triple {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} is VALID [2018-11-18 23:58:27,552 INFO L273 TraceCheckUtils]: 46: Hoare triple {6309#(<= (+ SelectionSort_~lh~0 5) ~n~0)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6310#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:27,552 INFO L273 TraceCheckUtils]: 47: Hoare triple {6310#(<= (+ SelectionSort_~lh~0 4) ~n~0)} assume true; {6310#(<= (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2018-11-18 23:58:27,553 INFO L273 TraceCheckUtils]: 48: Hoare triple {6310#(<= (+ SelectionSort_~lh~0 4) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} is VALID [2018-11-18 23:58:27,554 INFO L273 TraceCheckUtils]: 49: Hoare triple {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} assume true; {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} is VALID [2018-11-18 23:58:27,554 INFO L273 TraceCheckUtils]: 50: Hoare triple {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} is VALID [2018-11-18 23:58:27,555 INFO L273 TraceCheckUtils]: 51: Hoare triple {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} is VALID [2018-11-18 23:58:27,556 INFO L273 TraceCheckUtils]: 52: Hoare triple {6311#(<= (+ SelectionSort_~i~0 3) ~n~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:27,556 INFO L273 TraceCheckUtils]: 53: Hoare triple {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} assume true; {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:27,557 INFO L273 TraceCheckUtils]: 54: Hoare triple {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:27,557 INFO L273 TraceCheckUtils]: 55: Hoare triple {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2018-11-18 23:58:27,558 INFO L273 TraceCheckUtils]: 56: Hoare triple {6312#(<= (+ SelectionSort_~i~0 2) ~n~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6313#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2018-11-18 23:58:27,559 INFO L273 TraceCheckUtils]: 57: Hoare triple {6313#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume true; {6313#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2018-11-18 23:58:27,559 INFO L273 TraceCheckUtils]: 58: Hoare triple {6313#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:27,560 INFO L273 TraceCheckUtils]: 59: Hoare triple {6304#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:27,560 INFO L273 TraceCheckUtils]: 60: Hoare triple {6304#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6304#false} is VALID [2018-11-18 23:58:27,560 INFO L273 TraceCheckUtils]: 61: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,560 INFO L273 TraceCheckUtils]: 62: Hoare triple {6304#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6304#false} is VALID [2018-11-18 23:58:27,561 INFO L273 TraceCheckUtils]: 63: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,561 INFO L273 TraceCheckUtils]: 64: Hoare triple {6304#false} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:27,561 INFO L273 TraceCheckUtils]: 65: Hoare triple {6304#false} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {6304#false} is VALID [2018-11-18 23:58:27,561 INFO L273 TraceCheckUtils]: 66: Hoare triple {6304#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6304#false} is VALID [2018-11-18 23:58:27,561 INFO L273 TraceCheckUtils]: 67: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,562 INFO L273 TraceCheckUtils]: 68: Hoare triple {6304#false} assume !(~i~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:27,562 INFO L273 TraceCheckUtils]: 69: Hoare triple {6304#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:27,562 INFO L273 TraceCheckUtils]: 70: Hoare triple {6304#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6304#false} is VALID [2018-11-18 23:58:27,562 INFO L273 TraceCheckUtils]: 71: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,562 INFO L273 TraceCheckUtils]: 72: Hoare triple {6304#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6304#false} is VALID [2018-11-18 23:58:27,562 INFO L273 TraceCheckUtils]: 73: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 74: Hoare triple {6304#false} assume !(~i~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 75: Hoare triple {6304#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 76: Hoare triple {6304#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 77: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 78: Hoare triple {6304#false} assume !(~lh~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 79: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {6304#false} {6303#true} #92#return; {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 81: Hoare triple {6304#false} ~i~1 := 0; {6304#false} is VALID [2018-11-18 23:58:27,563 INFO L273 TraceCheckUtils]: 82: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:27,564 INFO L273 TraceCheckUtils]: 83: Hoare triple {6304#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6304#false} is VALID [2018-11-18 23:58:27,564 INFO L256 TraceCheckUtils]: 84: Hoare triple {6304#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {6304#false} is VALID [2018-11-18 23:58:27,564 INFO L273 TraceCheckUtils]: 85: Hoare triple {6304#false} ~cond := #in~cond; {6304#false} is VALID [2018-11-18 23:58:27,564 INFO L273 TraceCheckUtils]: 86: Hoare triple {6304#false} assume 0 == ~cond; {6304#false} is VALID [2018-11-18 23:58:27,564 INFO L273 TraceCheckUtils]: 87: Hoare triple {6304#false} assume !false; {6304#false} is VALID [2018-11-18 23:58:27,569 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 98 proven. 68 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2018-11-18 23:58:27,569 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:27,569 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:27,579 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:27,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:27,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:27,639 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:27,975 INFO L256 TraceCheckUtils]: 0: Hoare triple {6303#true} call ULTIMATE.init(); {6303#true} is VALID [2018-11-18 23:58:27,976 INFO L273 TraceCheckUtils]: 1: Hoare triple {6303#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,976 INFO L273 TraceCheckUtils]: 2: Hoare triple {6320#(<= 5 ~n~0)} assume true; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,977 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6320#(<= 5 ~n~0)} {6303#true} #88#return; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,977 INFO L256 TraceCheckUtils]: 4: Hoare triple {6320#(<= 5 ~n~0)} call #t~ret9 := main(); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,978 INFO L273 TraceCheckUtils]: 5: Hoare triple {6320#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,978 INFO L273 TraceCheckUtils]: 6: Hoare triple {6320#(<= 5 ~n~0)} assume true; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,979 INFO L273 TraceCheckUtils]: 7: Hoare triple {6320#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,979 INFO L273 TraceCheckUtils]: 8: Hoare triple {6320#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,980 INFO L273 TraceCheckUtils]: 9: Hoare triple {6320#(<= 5 ~n~0)} assume true; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,980 INFO L273 TraceCheckUtils]: 10: Hoare triple {6320#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,981 INFO L273 TraceCheckUtils]: 11: Hoare triple {6320#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,981 INFO L273 TraceCheckUtils]: 12: Hoare triple {6320#(<= 5 ~n~0)} assume true; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,982 INFO L273 TraceCheckUtils]: 13: Hoare triple {6320#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,982 INFO L273 TraceCheckUtils]: 14: Hoare triple {6320#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,983 INFO L273 TraceCheckUtils]: 15: Hoare triple {6320#(<= 5 ~n~0)} assume true; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,983 INFO L273 TraceCheckUtils]: 16: Hoare triple {6320#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,984 INFO L273 TraceCheckUtils]: 17: Hoare triple {6320#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,984 INFO L273 TraceCheckUtils]: 18: Hoare triple {6320#(<= 5 ~n~0)} assume true; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,985 INFO L273 TraceCheckUtils]: 19: Hoare triple {6320#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,985 INFO L273 TraceCheckUtils]: 20: Hoare triple {6320#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,986 INFO L273 TraceCheckUtils]: 21: Hoare triple {6320#(<= 5 ~n~0)} assume true; {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,986 INFO L273 TraceCheckUtils]: 22: Hoare triple {6320#(<= 5 ~n~0)} assume !(~i~1 >= 0); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,987 INFO L256 TraceCheckUtils]: 23: Hoare triple {6320#(<= 5 ~n~0)} call SelectionSort(); {6320#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:27,987 INFO L273 TraceCheckUtils]: 24: Hoare triple {6320#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,988 INFO L273 TraceCheckUtils]: 25: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,989 INFO L273 TraceCheckUtils]: 26: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,990 INFO L273 TraceCheckUtils]: 27: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,990 INFO L273 TraceCheckUtils]: 28: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,991 INFO L273 TraceCheckUtils]: 29: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,992 INFO L273 TraceCheckUtils]: 30: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,992 INFO L273 TraceCheckUtils]: 31: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,993 INFO L273 TraceCheckUtils]: 32: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,994 INFO L273 TraceCheckUtils]: 33: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,995 INFO L273 TraceCheckUtils]: 34: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,995 INFO L273 TraceCheckUtils]: 35: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,996 INFO L273 TraceCheckUtils]: 36: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,997 INFO L273 TraceCheckUtils]: 37: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,997 INFO L273 TraceCheckUtils]: 38: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,998 INFO L273 TraceCheckUtils]: 39: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:27,999 INFO L273 TraceCheckUtils]: 40: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,000 INFO L273 TraceCheckUtils]: 41: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,002 INFO L273 TraceCheckUtils]: 42: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,003 INFO L273 TraceCheckUtils]: 43: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,003 INFO L273 TraceCheckUtils]: 44: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,004 INFO L273 TraceCheckUtils]: 45: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,004 INFO L273 TraceCheckUtils]: 46: Hoare triple {6390#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6457#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,005 INFO L273 TraceCheckUtils]: 47: Hoare triple {6457#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {6457#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,005 INFO L273 TraceCheckUtils]: 48: Hoare triple {6457#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,006 INFO L273 TraceCheckUtils]: 49: Hoare triple {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} assume true; {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,006 INFO L273 TraceCheckUtils]: 50: Hoare triple {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,007 INFO L273 TraceCheckUtils]: 51: Hoare triple {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,007 INFO L273 TraceCheckUtils]: 52: Hoare triple {6464#(and (<= SelectionSort_~i~0 2) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,008 INFO L273 TraceCheckUtils]: 53: Hoare triple {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} assume true; {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,008 INFO L273 TraceCheckUtils]: 54: Hoare triple {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,009 INFO L273 TraceCheckUtils]: 55: Hoare triple {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:28,010 INFO L273 TraceCheckUtils]: 56: Hoare triple {6477#(and (<= SelectionSort_~i~0 3) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6490#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} is VALID [2018-11-18 23:58:28,010 INFO L273 TraceCheckUtils]: 57: Hoare triple {6490#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} assume true; {6490#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} is VALID [2018-11-18 23:58:28,011 INFO L273 TraceCheckUtils]: 58: Hoare triple {6490#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} assume !(~i~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:28,011 INFO L273 TraceCheckUtils]: 59: Hoare triple {6304#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:28,012 INFO L273 TraceCheckUtils]: 60: Hoare triple {6304#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6304#false} is VALID [2018-11-18 23:58:28,012 INFO L273 TraceCheckUtils]: 61: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,012 INFO L273 TraceCheckUtils]: 62: Hoare triple {6304#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6304#false} is VALID [2018-11-18 23:58:28,012 INFO L273 TraceCheckUtils]: 63: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,012 INFO L273 TraceCheckUtils]: 64: Hoare triple {6304#false} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:28,013 INFO L273 TraceCheckUtils]: 65: Hoare triple {6304#false} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {6304#false} is VALID [2018-11-18 23:58:28,013 INFO L273 TraceCheckUtils]: 66: Hoare triple {6304#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {6304#false} is VALID [2018-11-18 23:58:28,013 INFO L273 TraceCheckUtils]: 67: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,013 INFO L273 TraceCheckUtils]: 68: Hoare triple {6304#false} assume !(~i~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:28,014 INFO L273 TraceCheckUtils]: 69: Hoare triple {6304#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:28,014 INFO L273 TraceCheckUtils]: 70: Hoare triple {6304#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6304#false} is VALID [2018-11-18 23:58:28,014 INFO L273 TraceCheckUtils]: 71: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,014 INFO L273 TraceCheckUtils]: 72: Hoare triple {6304#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6304#false} is VALID [2018-11-18 23:58:28,014 INFO L273 TraceCheckUtils]: 73: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,015 INFO L273 TraceCheckUtils]: 74: Hoare triple {6304#false} assume !(~i~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:28,015 INFO L273 TraceCheckUtils]: 75: Hoare triple {6304#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6304#false} is VALID [2018-11-18 23:58:28,015 INFO L273 TraceCheckUtils]: 76: Hoare triple {6304#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {6304#false} is VALID [2018-11-18 23:58:28,015 INFO L273 TraceCheckUtils]: 77: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,015 INFO L273 TraceCheckUtils]: 78: Hoare triple {6304#false} assume !(~lh~0 < ~n~0); {6304#false} is VALID [2018-11-18 23:58:28,015 INFO L273 TraceCheckUtils]: 79: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,015 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {6304#false} {6320#(<= 5 ~n~0)} #92#return; {6304#false} is VALID [2018-11-18 23:58:28,016 INFO L273 TraceCheckUtils]: 81: Hoare triple {6304#false} ~i~1 := 0; {6304#false} is VALID [2018-11-18 23:58:28,016 INFO L273 TraceCheckUtils]: 82: Hoare triple {6304#false} assume true; {6304#false} is VALID [2018-11-18 23:58:28,016 INFO L273 TraceCheckUtils]: 83: Hoare triple {6304#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6304#false} is VALID [2018-11-18 23:58:28,016 INFO L256 TraceCheckUtils]: 84: Hoare triple {6304#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {6304#false} is VALID [2018-11-18 23:58:28,016 INFO L273 TraceCheckUtils]: 85: Hoare triple {6304#false} ~cond := #in~cond; {6304#false} is VALID [2018-11-18 23:58:28,016 INFO L273 TraceCheckUtils]: 86: Hoare triple {6304#false} assume 0 == ~cond; {6304#false} is VALID [2018-11-18 23:58:28,016 INFO L273 TraceCheckUtils]: 87: Hoare triple {6304#false} assume !false; {6304#false} is VALID [2018-11-18 23:58:28,024 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 78 proven. 56 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2018-11-18 23:58:28,043 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:28,043 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 17 [2018-11-18 23:58:28,044 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 88 [2018-11-18 23:58:28,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:28,044 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-18 23:58:28,142 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:28,142 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-18 23:58:28,143 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-18 23:58:28,143 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2018-11-18 23:58:28,143 INFO L87 Difference]: Start difference. First operand 138 states and 159 transitions. Second operand 17 states. [2018-11-18 23:58:29,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:29,936 INFO L93 Difference]: Finished difference Result 247 states and 291 transitions. [2018-11-18 23:58:29,936 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-18 23:58:29,936 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 88 [2018-11-18 23:58:29,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:29,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-18 23:58:29,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 167 transitions. [2018-11-18 23:58:29,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-18 23:58:29,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 167 transitions. [2018-11-18 23:58:29,941 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 167 transitions. [2018-11-18 23:58:30,633 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:30,637 INFO L225 Difference]: With dead ends: 247 [2018-11-18 23:58:30,637 INFO L226 Difference]: Without dead ends: 172 [2018-11-18 23:58:30,639 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 87 SyntacticMatches, 1 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 424 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=406, Invalid=1234, Unknown=0, NotChecked=0, Total=1640 [2018-11-18 23:58:30,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 172 states. [2018-11-18 23:58:30,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 172 to 128. [2018-11-18 23:58:30,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:30,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 172 states. Second operand 128 states. [2018-11-18 23:58:30,901 INFO L74 IsIncluded]: Start isIncluded. First operand 172 states. Second operand 128 states. [2018-11-18 23:58:30,901 INFO L87 Difference]: Start difference. First operand 172 states. Second operand 128 states. [2018-11-18 23:58:30,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:30,905 INFO L93 Difference]: Finished difference Result 172 states and 201 transitions. [2018-11-18 23:58:30,905 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 201 transitions. [2018-11-18 23:58:30,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:30,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:30,906 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 172 states. [2018-11-18 23:58:30,906 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 172 states. [2018-11-18 23:58:30,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:30,911 INFO L93 Difference]: Finished difference Result 172 states and 201 transitions. [2018-11-18 23:58:30,911 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 201 transitions. [2018-11-18 23:58:30,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:30,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:30,912 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:30,912 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:30,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 128 states. [2018-11-18 23:58:30,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 147 transitions. [2018-11-18 23:58:30,915 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 147 transitions. Word has length 88 [2018-11-18 23:58:30,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:30,915 INFO L480 AbstractCegarLoop]: Abstraction has 128 states and 147 transitions. [2018-11-18 23:58:30,915 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-18 23:58:30,915 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 147 transitions. [2018-11-18 23:58:30,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2018-11-18 23:58:30,916 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:30,916 INFO L375 BasicCegarLoop]: trace histogram [13, 9, 9, 8, 6, 5, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:30,917 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:30,917 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:30,917 INFO L82 PathProgramCache]: Analyzing trace with hash 893900630, now seen corresponding path program 2 times [2018-11-18 23:58:30,917 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:30,917 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:30,918 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:30,918 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:58:30,918 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:30,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:31,768 INFO L256 TraceCheckUtils]: 0: Hoare triple {7469#true} call ULTIMATE.init(); {7469#true} is VALID [2018-11-18 23:58:31,768 INFO L273 TraceCheckUtils]: 1: Hoare triple {7469#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {7469#true} is VALID [2018-11-18 23:58:31,768 INFO L273 TraceCheckUtils]: 2: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,768 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7469#true} {7469#true} #88#return; {7469#true} is VALID [2018-11-18 23:58:31,769 INFO L256 TraceCheckUtils]: 4: Hoare triple {7469#true} call #t~ret9 := main(); {7469#true} is VALID [2018-11-18 23:58:31,769 INFO L273 TraceCheckUtils]: 5: Hoare triple {7469#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {7469#true} is VALID [2018-11-18 23:58:31,769 INFO L273 TraceCheckUtils]: 6: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,769 INFO L273 TraceCheckUtils]: 7: Hoare triple {7469#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7469#true} is VALID [2018-11-18 23:58:31,769 INFO L273 TraceCheckUtils]: 8: Hoare triple {7469#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7469#true} is VALID [2018-11-18 23:58:31,770 INFO L273 TraceCheckUtils]: 9: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,770 INFO L273 TraceCheckUtils]: 10: Hoare triple {7469#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7469#true} is VALID [2018-11-18 23:58:31,770 INFO L273 TraceCheckUtils]: 11: Hoare triple {7469#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7469#true} is VALID [2018-11-18 23:58:31,770 INFO L273 TraceCheckUtils]: 12: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,770 INFO L273 TraceCheckUtils]: 13: Hoare triple {7469#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7469#true} is VALID [2018-11-18 23:58:31,771 INFO L273 TraceCheckUtils]: 14: Hoare triple {7469#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7469#true} is VALID [2018-11-18 23:58:31,771 INFO L273 TraceCheckUtils]: 15: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,771 INFO L273 TraceCheckUtils]: 16: Hoare triple {7469#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7469#true} is VALID [2018-11-18 23:58:31,771 INFO L273 TraceCheckUtils]: 17: Hoare triple {7469#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7469#true} is VALID [2018-11-18 23:58:31,772 INFO L273 TraceCheckUtils]: 18: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,772 INFO L273 TraceCheckUtils]: 19: Hoare triple {7469#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7469#true} is VALID [2018-11-18 23:58:31,772 INFO L273 TraceCheckUtils]: 20: Hoare triple {7469#true} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7469#true} is VALID [2018-11-18 23:58:31,772 INFO L273 TraceCheckUtils]: 21: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,772 INFO L273 TraceCheckUtils]: 22: Hoare triple {7469#true} assume !(~i~1 >= 0); {7469#true} is VALID [2018-11-18 23:58:31,772 INFO L256 TraceCheckUtils]: 23: Hoare triple {7469#true} call SelectionSort(); {7469#true} is VALID [2018-11-18 23:58:31,772 INFO L273 TraceCheckUtils]: 24: Hoare triple {7469#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 25: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 26: Hoare triple {7469#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 27: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 28: Hoare triple {7469#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 29: Hoare triple {7469#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 30: Hoare triple {7469#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 31: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,773 INFO L273 TraceCheckUtils]: 32: Hoare triple {7469#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 33: Hoare triple {7469#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 34: Hoare triple {7469#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 35: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 36: Hoare triple {7469#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 37: Hoare triple {7469#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 38: Hoare triple {7469#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 39: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 40: Hoare triple {7469#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,774 INFO L273 TraceCheckUtils]: 41: Hoare triple {7469#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 42: Hoare triple {7469#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 43: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 44: Hoare triple {7469#true} assume !(~i~0 < ~n~0); {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 45: Hoare triple {7469#true} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 46: Hoare triple {7469#true} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 47: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 48: Hoare triple {7469#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7469#true} is VALID [2018-11-18 23:58:31,775 INFO L273 TraceCheckUtils]: 49: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 50: Hoare triple {7469#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 51: Hoare triple {7469#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 52: Hoare triple {7469#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 53: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 54: Hoare triple {7469#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 55: Hoare triple {7469#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 56: Hoare triple {7469#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7469#true} is VALID [2018-11-18 23:58:31,776 INFO L273 TraceCheckUtils]: 57: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 58: Hoare triple {7469#true} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 59: Hoare triple {7469#true} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 60: Hoare triple {7469#true} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 61: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 62: Hoare triple {7469#true} assume !(~i~0 < ~n~0); {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 63: Hoare triple {7469#true} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 64: Hoare triple {7469#true} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7469#true} is VALID [2018-11-18 23:58:31,777 INFO L273 TraceCheckUtils]: 65: Hoare triple {7469#true} assume true; {7469#true} is VALID [2018-11-18 23:58:31,778 INFO L273 TraceCheckUtils]: 66: Hoare triple {7469#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:31,778 INFO L273 TraceCheckUtils]: 67: Hoare triple {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume true; {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:31,781 INFO L273 TraceCheckUtils]: 68: Hoare triple {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:31,782 INFO L273 TraceCheckUtils]: 69: Hoare triple {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:31,782 INFO L273 TraceCheckUtils]: 70: Hoare triple {7471#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7472#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:31,783 INFO L273 TraceCheckUtils]: 71: Hoare triple {7472#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume true; {7472#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2018-11-18 23:58:31,783 INFO L273 TraceCheckUtils]: 72: Hoare triple {7472#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:31,784 INFO L273 TraceCheckUtils]: 73: Hoare triple {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:31,784 INFO L273 TraceCheckUtils]: 74: Hoare triple {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:31,784 INFO L273 TraceCheckUtils]: 75: Hoare triple {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} assume true; {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:31,785 INFO L273 TraceCheckUtils]: 76: Hoare triple {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:31,786 INFO L273 TraceCheckUtils]: 77: Hoare triple {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2018-11-18 23:58:31,786 INFO L273 TraceCheckUtils]: 78: Hoare triple {7473#(<= (+ SelectionSort_~lh~0 3) ~n~0)} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7474#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:31,787 INFO L273 TraceCheckUtils]: 79: Hoare triple {7474#(<= (+ SelectionSort_~lh~0 2) ~n~0)} assume true; {7474#(<= (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2018-11-18 23:58:31,788 INFO L273 TraceCheckUtils]: 80: Hoare triple {7474#(<= (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7475#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2018-11-18 23:58:31,788 INFO L273 TraceCheckUtils]: 81: Hoare triple {7475#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume true; {7475#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2018-11-18 23:58:31,789 INFO L273 TraceCheckUtils]: 82: Hoare triple {7475#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {7470#false} is VALID [2018-11-18 23:58:31,789 INFO L273 TraceCheckUtils]: 83: Hoare triple {7470#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7470#false} is VALID [2018-11-18 23:58:31,790 INFO L273 TraceCheckUtils]: 84: Hoare triple {7470#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7470#false} is VALID [2018-11-18 23:58:31,790 INFO L273 TraceCheckUtils]: 85: Hoare triple {7470#false} assume true; {7470#false} is VALID [2018-11-18 23:58:31,790 INFO L273 TraceCheckUtils]: 86: Hoare triple {7470#false} assume !(~lh~0 < ~n~0); {7470#false} is VALID [2018-11-18 23:58:31,790 INFO L273 TraceCheckUtils]: 87: Hoare triple {7470#false} assume true; {7470#false} is VALID [2018-11-18 23:58:31,791 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {7470#false} {7469#true} #92#return; {7470#false} is VALID [2018-11-18 23:58:31,791 INFO L273 TraceCheckUtils]: 89: Hoare triple {7470#false} ~i~1 := 0; {7470#false} is VALID [2018-11-18 23:58:31,791 INFO L273 TraceCheckUtils]: 90: Hoare triple {7470#false} assume true; {7470#false} is VALID [2018-11-18 23:58:31,791 INFO L273 TraceCheckUtils]: 91: Hoare triple {7470#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7470#false} is VALID [2018-11-18 23:58:31,791 INFO L256 TraceCheckUtils]: 92: Hoare triple {7470#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {7470#false} is VALID [2018-11-18 23:58:31,792 INFO L273 TraceCheckUtils]: 93: Hoare triple {7470#false} ~cond := #in~cond; {7470#false} is VALID [2018-11-18 23:58:31,792 INFO L273 TraceCheckUtils]: 94: Hoare triple {7470#false} assume 0 == ~cond; {7470#false} is VALID [2018-11-18 23:58:31,792 INFO L273 TraceCheckUtils]: 95: Hoare triple {7470#false} assume !false; {7470#false} is VALID [2018-11-18 23:58:31,796 INFO L134 CoverageAnalysis]: Checked inductivity of 300 backedges. 126 proven. 12 refuted. 0 times theorem prover too weak. 162 trivial. 0 not checked. [2018-11-18 23:58:31,796 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:31,797 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:31,805 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:58:31,847 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:58:31,847 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:31,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:31,867 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:32,238 INFO L256 TraceCheckUtils]: 0: Hoare triple {7469#true} call ULTIMATE.init(); {7469#true} is VALID [2018-11-18 23:58:32,239 INFO L273 TraceCheckUtils]: 1: Hoare triple {7469#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,241 INFO L273 TraceCheckUtils]: 2: Hoare triple {7482#(<= 5 ~n~0)} assume true; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,244 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7482#(<= 5 ~n~0)} {7469#true} #88#return; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,246 INFO L256 TraceCheckUtils]: 4: Hoare triple {7482#(<= 5 ~n~0)} call #t~ret9 := main(); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,246 INFO L273 TraceCheckUtils]: 5: Hoare triple {7482#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,248 INFO L273 TraceCheckUtils]: 6: Hoare triple {7482#(<= 5 ~n~0)} assume true; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,248 INFO L273 TraceCheckUtils]: 7: Hoare triple {7482#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,250 INFO L273 TraceCheckUtils]: 8: Hoare triple {7482#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,250 INFO L273 TraceCheckUtils]: 9: Hoare triple {7482#(<= 5 ~n~0)} assume true; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,253 INFO L273 TraceCheckUtils]: 10: Hoare triple {7482#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,253 INFO L273 TraceCheckUtils]: 11: Hoare triple {7482#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,255 INFO L273 TraceCheckUtils]: 12: Hoare triple {7482#(<= 5 ~n~0)} assume true; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,255 INFO L273 TraceCheckUtils]: 13: Hoare triple {7482#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,257 INFO L273 TraceCheckUtils]: 14: Hoare triple {7482#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,257 INFO L273 TraceCheckUtils]: 15: Hoare triple {7482#(<= 5 ~n~0)} assume true; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,260 INFO L273 TraceCheckUtils]: 16: Hoare triple {7482#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,260 INFO L273 TraceCheckUtils]: 17: Hoare triple {7482#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,262 INFO L273 TraceCheckUtils]: 18: Hoare triple {7482#(<= 5 ~n~0)} assume true; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,262 INFO L273 TraceCheckUtils]: 19: Hoare triple {7482#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,265 INFO L273 TraceCheckUtils]: 20: Hoare triple {7482#(<= 5 ~n~0)} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,265 INFO L273 TraceCheckUtils]: 21: Hoare triple {7482#(<= 5 ~n~0)} assume true; {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,268 INFO L273 TraceCheckUtils]: 22: Hoare triple {7482#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,270 INFO L256 TraceCheckUtils]: 23: Hoare triple {7482#(<= 5 ~n~0)} call SelectionSort(); {7482#(<= 5 ~n~0)} is VALID [2018-11-18 23:58:32,270 INFO L273 TraceCheckUtils]: 24: Hoare triple {7482#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,272 INFO L273 TraceCheckUtils]: 25: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,272 INFO L273 TraceCheckUtils]: 26: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,274 INFO L273 TraceCheckUtils]: 27: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,274 INFO L273 TraceCheckUtils]: 28: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,276 INFO L273 TraceCheckUtils]: 29: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,276 INFO L273 TraceCheckUtils]: 30: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,278 INFO L273 TraceCheckUtils]: 31: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,278 INFO L273 TraceCheckUtils]: 32: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,281 INFO L273 TraceCheckUtils]: 33: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,281 INFO L273 TraceCheckUtils]: 34: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,284 INFO L273 TraceCheckUtils]: 35: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,284 INFO L273 TraceCheckUtils]: 36: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,286 INFO L273 TraceCheckUtils]: 37: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,286 INFO L273 TraceCheckUtils]: 38: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,288 INFO L273 TraceCheckUtils]: 39: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,288 INFO L273 TraceCheckUtils]: 40: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,290 INFO L273 TraceCheckUtils]: 41: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,290 INFO L273 TraceCheckUtils]: 42: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,290 INFO L273 TraceCheckUtils]: 43: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume true; {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,291 INFO L273 TraceCheckUtils]: 44: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,292 INFO L273 TraceCheckUtils]: 45: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,292 INFO L273 TraceCheckUtils]: 46: Hoare triple {7552#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,293 INFO L273 TraceCheckUtils]: 47: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,293 INFO L273 TraceCheckUtils]: 48: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,295 INFO L273 TraceCheckUtils]: 49: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,296 INFO L273 TraceCheckUtils]: 50: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,297 INFO L273 TraceCheckUtils]: 51: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,297 INFO L273 TraceCheckUtils]: 52: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,299 INFO L273 TraceCheckUtils]: 53: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,300 INFO L273 TraceCheckUtils]: 54: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,301 INFO L273 TraceCheckUtils]: 55: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,301 INFO L273 TraceCheckUtils]: 56: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,302 INFO L273 TraceCheckUtils]: 57: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,307 INFO L273 TraceCheckUtils]: 58: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,309 INFO L273 TraceCheckUtils]: 59: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,309 INFO L273 TraceCheckUtils]: 60: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,312 INFO L273 TraceCheckUtils]: 61: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume true; {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,312 INFO L273 TraceCheckUtils]: 62: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,314 INFO L273 TraceCheckUtils]: 63: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,314 INFO L273 TraceCheckUtils]: 64: Hoare triple {7619#(and (<= SelectionSort_~lh~0 1) (<= 5 ~n~0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,316 INFO L273 TraceCheckUtils]: 65: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume true; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,316 INFO L273 TraceCheckUtils]: 66: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,318 INFO L273 TraceCheckUtils]: 67: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume true; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,319 INFO L273 TraceCheckUtils]: 68: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,320 INFO L273 TraceCheckUtils]: 69: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,320 INFO L273 TraceCheckUtils]: 70: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,322 INFO L273 TraceCheckUtils]: 71: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume true; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,322 INFO L273 TraceCheckUtils]: 72: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,324 INFO L273 TraceCheckUtils]: 73: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,324 INFO L273 TraceCheckUtils]: 74: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,326 INFO L273 TraceCheckUtils]: 75: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume true; {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,326 INFO L273 TraceCheckUtils]: 76: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,328 INFO L273 TraceCheckUtils]: 77: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,328 INFO L273 TraceCheckUtils]: 78: Hoare triple {7674#(and (<= SelectionSort_~lh~0 2) (<= 5 ~n~0))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7717#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,330 INFO L273 TraceCheckUtils]: 79: Hoare triple {7717#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} assume true; {7717#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} is VALID [2018-11-18 23:58:32,330 INFO L273 TraceCheckUtils]: 80: Hoare triple {7717#(and (<= SelectionSort_~lh~0 3) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7724#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} is VALID [2018-11-18 23:58:32,348 INFO L273 TraceCheckUtils]: 81: Hoare triple {7724#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} assume true; {7724#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} is VALID [2018-11-18 23:58:32,349 INFO L273 TraceCheckUtils]: 82: Hoare triple {7724#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 4))} assume !(~i~0 < ~n~0); {7470#false} is VALID [2018-11-18 23:58:32,349 INFO L273 TraceCheckUtils]: 83: Hoare triple {7470#false} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7470#false} is VALID [2018-11-18 23:58:32,349 INFO L273 TraceCheckUtils]: 84: Hoare triple {7470#false} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L273 TraceCheckUtils]: 85: Hoare triple {7470#false} assume true; {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L273 TraceCheckUtils]: 86: Hoare triple {7470#false} assume !(~lh~0 < ~n~0); {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L273 TraceCheckUtils]: 87: Hoare triple {7470#false} assume true; {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {7470#false} {7482#(<= 5 ~n~0)} #92#return; {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L273 TraceCheckUtils]: 89: Hoare triple {7470#false} ~i~1 := 0; {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L273 TraceCheckUtils]: 90: Hoare triple {7470#false} assume true; {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L273 TraceCheckUtils]: 91: Hoare triple {7470#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7470#false} is VALID [2018-11-18 23:58:32,350 INFO L256 TraceCheckUtils]: 92: Hoare triple {7470#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {7470#false} is VALID [2018-11-18 23:58:32,351 INFO L273 TraceCheckUtils]: 93: Hoare triple {7470#false} ~cond := #in~cond; {7470#false} is VALID [2018-11-18 23:58:32,351 INFO L273 TraceCheckUtils]: 94: Hoare triple {7470#false} assume 0 == ~cond; {7470#false} is VALID [2018-11-18 23:58:32,351 INFO L273 TraceCheckUtils]: 95: Hoare triple {7470#false} assume !false; {7470#false} is VALID [2018-11-18 23:58:32,361 INFO L134 CoverageAnalysis]: Checked inductivity of 300 backedges. 14 proven. 188 refuted. 0 times theorem prover too weak. 98 trivial. 0 not checked. [2018-11-18 23:58:32,380 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:32,380 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 8] total 13 [2018-11-18 23:58:32,380 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 96 [2018-11-18 23:58:32,381 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:32,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-18 23:58:32,476 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:32,476 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-18 23:58:32,477 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-18 23:58:32,477 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2018-11-18 23:58:32,477 INFO L87 Difference]: Start difference. First operand 128 states and 147 transitions. Second operand 13 states. [2018-11-18 23:58:34,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:34,441 INFO L93 Difference]: Finished difference Result 288 states and 341 transitions. [2018-11-18 23:58:34,441 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-18 23:58:34,441 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 96 [2018-11-18 23:58:34,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:58:34,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:58:34,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 139 transitions. [2018-11-18 23:58:34,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:58:34,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 139 transitions. [2018-11-18 23:58:34,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 139 transitions. [2018-11-18 23:58:35,007 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:58:35,013 INFO L225 Difference]: With dead ends: 288 [2018-11-18 23:58:35,013 INFO L226 Difference]: Without dead ends: 270 [2018-11-18 23:58:35,014 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 317 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=372, Invalid=818, Unknown=0, NotChecked=0, Total=1190 [2018-11-18 23:58:35,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 270 states. [2018-11-18 23:58:35,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 270 to 128. [2018-11-18 23:58:35,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:58:35,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 270 states. Second operand 128 states. [2018-11-18 23:58:35,578 INFO L74 IsIncluded]: Start isIncluded. First operand 270 states. Second operand 128 states. [2018-11-18 23:58:35,578 INFO L87 Difference]: Start difference. First operand 270 states. Second operand 128 states. [2018-11-18 23:58:35,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:35,586 INFO L93 Difference]: Finished difference Result 270 states and 321 transitions. [2018-11-18 23:58:35,586 INFO L276 IsEmpty]: Start isEmpty. Operand 270 states and 321 transitions. [2018-11-18 23:58:35,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:35,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:35,587 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 270 states. [2018-11-18 23:58:35,587 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 270 states. [2018-11-18 23:58:35,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:58:35,593 INFO L93 Difference]: Finished difference Result 270 states and 321 transitions. [2018-11-18 23:58:35,593 INFO L276 IsEmpty]: Start isEmpty. Operand 270 states and 321 transitions. [2018-11-18 23:58:35,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:58:35,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:58:35,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:58:35,595 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:58:35,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 128 states. [2018-11-18 23:58:35,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 146 transitions. [2018-11-18 23:58:35,597 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 146 transitions. Word has length 96 [2018-11-18 23:58:35,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:58:35,598 INFO L480 AbstractCegarLoop]: Abstraction has 128 states and 146 transitions. [2018-11-18 23:58:35,598 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-18 23:58:35,598 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 146 transitions. [2018-11-18 23:58:35,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2018-11-18 23:58:35,599 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:58:35,599 INFO L375 BasicCegarLoop]: trace histogram [15, 10, 10, 9, 6, 6, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:58:35,600 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:58:35,600 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:58:35,600 INFO L82 PathProgramCache]: Analyzing trace with hash -1718943581, now seen corresponding path program 3 times [2018-11-18 23:58:35,600 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:58:35,600 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:58:35,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:35,601 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:58:35,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:58:35,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:36,279 INFO L256 TraceCheckUtils]: 0: Hoare triple {8902#true} call ULTIMATE.init(); {8902#true} is VALID [2018-11-18 23:58:36,280 INFO L273 TraceCheckUtils]: 1: Hoare triple {8902#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} is VALID [2018-11-18 23:58:36,281 INFO L273 TraceCheckUtils]: 2: Hoare triple {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} assume true; {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} is VALID [2018-11-18 23:58:36,282 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} {8902#true} #88#return; {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} is VALID [2018-11-18 23:58:36,282 INFO L256 TraceCheckUtils]: 4: Hoare triple {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} call #t~ret9 := main(); {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} is VALID [2018-11-18 23:58:36,284 INFO L273 TraceCheckUtils]: 5: Hoare triple {8904#(and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,284 INFO L273 TraceCheckUtils]: 6: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,286 INFO L273 TraceCheckUtils]: 7: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,287 INFO L273 TraceCheckUtils]: 8: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,288 INFO L273 TraceCheckUtils]: 9: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,289 INFO L273 TraceCheckUtils]: 10: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,290 INFO L273 TraceCheckUtils]: 11: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,291 INFO L273 TraceCheckUtils]: 12: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,292 INFO L273 TraceCheckUtils]: 13: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,293 INFO L273 TraceCheckUtils]: 14: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,294 INFO L273 TraceCheckUtils]: 15: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,295 INFO L273 TraceCheckUtils]: 16: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,296 INFO L273 TraceCheckUtils]: 17: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,297 INFO L273 TraceCheckUtils]: 18: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,298 INFO L273 TraceCheckUtils]: 19: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,299 INFO L273 TraceCheckUtils]: 20: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,300 INFO L273 TraceCheckUtils]: 21: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,301 INFO L273 TraceCheckUtils]: 22: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !(~i~1 >= 0); {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:36,302 INFO L256 TraceCheckUtils]: 23: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} call SelectionSort(); {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:36,302 INFO L273 TraceCheckUtils]: 24: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:36,303 INFO L273 TraceCheckUtils]: 25: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume true; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:36,304 INFO L273 TraceCheckUtils]: 26: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:36,304 INFO L273 TraceCheckUtils]: 27: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume true; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:36,305 INFO L273 TraceCheckUtils]: 28: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,306 INFO L273 TraceCheckUtils]: 29: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,306 INFO L273 TraceCheckUtils]: 30: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,307 INFO L273 TraceCheckUtils]: 31: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} assume true; {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,307 INFO L273 TraceCheckUtils]: 32: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,308 INFO L273 TraceCheckUtils]: 33: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,309 INFO L273 TraceCheckUtils]: 34: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,309 INFO L273 TraceCheckUtils]: 35: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} assume true; {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} is VALID [2018-11-18 23:58:36,310 INFO L273 TraceCheckUtils]: 36: Hoare triple {8907#(= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8908#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~i~0) |~#array~0.offset|)) 0)) (and (or (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))) (= |SelectionSort_#t~mem3| 0)) (= |SelectionSort_#t~mem2| 0))))} is VALID [2018-11-18 23:58:36,312 INFO L273 TraceCheckUtils]: 37: Hoare triple {8908#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* 4 SelectionSort_~i~0) |~#array~0.offset|)) 0)) (and (or (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))) (= |SelectionSort_#t~mem3| 0)) (= |SelectionSort_#t~mem2| 0))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,313 INFO L273 TraceCheckUtils]: 38: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,313 INFO L273 TraceCheckUtils]: 39: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} assume true; {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,314 INFO L273 TraceCheckUtils]: 40: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,315 INFO L273 TraceCheckUtils]: 41: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,316 INFO L273 TraceCheckUtils]: 42: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,317 INFO L273 TraceCheckUtils]: 43: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} assume true; {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,318 INFO L273 TraceCheckUtils]: 44: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} is VALID [2018-11-18 23:58:36,319 INFO L273 TraceCheckUtils]: 45: Hoare triple {8909#(and (= (select |old(#memory_int)| |~#array~0.base|) (select |#memory_int| |~#array~0.base|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|))))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,320 INFO L273 TraceCheckUtils]: 46: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,321 INFO L273 TraceCheckUtils]: 47: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,322 INFO L273 TraceCheckUtils]: 48: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,322 INFO L273 TraceCheckUtils]: 49: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,322 INFO L273 TraceCheckUtils]: 50: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,323 INFO L273 TraceCheckUtils]: 51: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,323 INFO L273 TraceCheckUtils]: 52: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,323 INFO L273 TraceCheckUtils]: 53: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,324 INFO L273 TraceCheckUtils]: 54: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,324 INFO L273 TraceCheckUtils]: 55: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,325 INFO L273 TraceCheckUtils]: 56: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,325 INFO L273 TraceCheckUtils]: 57: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,326 INFO L273 TraceCheckUtils]: 58: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,326 INFO L273 TraceCheckUtils]: 59: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,327 INFO L273 TraceCheckUtils]: 60: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,328 INFO L273 TraceCheckUtils]: 61: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,328 INFO L273 TraceCheckUtils]: 62: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !(~i~0 < ~n~0); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,329 INFO L273 TraceCheckUtils]: 63: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,347 INFO L273 TraceCheckUtils]: 64: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,353 INFO L273 TraceCheckUtils]: 65: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,354 INFO L273 TraceCheckUtils]: 66: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,354 INFO L273 TraceCheckUtils]: 67: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,354 INFO L273 TraceCheckUtils]: 68: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,355 INFO L273 TraceCheckUtils]: 69: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,355 INFO L273 TraceCheckUtils]: 70: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,355 INFO L273 TraceCheckUtils]: 71: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,356 INFO L273 TraceCheckUtils]: 72: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,356 INFO L273 TraceCheckUtils]: 73: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,357 INFO L273 TraceCheckUtils]: 74: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,358 INFO L273 TraceCheckUtils]: 75: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,358 INFO L273 TraceCheckUtils]: 76: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !(~i~0 < ~n~0); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,359 INFO L273 TraceCheckUtils]: 77: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,359 INFO L273 TraceCheckUtils]: 78: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,360 INFO L273 TraceCheckUtils]: 79: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,360 INFO L273 TraceCheckUtils]: 80: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,361 INFO L273 TraceCheckUtils]: 81: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,361 INFO L273 TraceCheckUtils]: 82: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,362 INFO L273 TraceCheckUtils]: 83: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,363 INFO L273 TraceCheckUtils]: 84: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,363 INFO L273 TraceCheckUtils]: 85: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,364 INFO L273 TraceCheckUtils]: 86: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !(~i~0 < ~n~0); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,364 INFO L273 TraceCheckUtils]: 87: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,365 INFO L273 TraceCheckUtils]: 88: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,365 INFO L273 TraceCheckUtils]: 89: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,366 INFO L273 TraceCheckUtils]: 90: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,366 INFO L273 TraceCheckUtils]: 91: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,367 INFO L273 TraceCheckUtils]: 92: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !(~i~0 < ~n~0); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,367 INFO L273 TraceCheckUtils]: 93: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,368 INFO L273 TraceCheckUtils]: 94: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,369 INFO L273 TraceCheckUtils]: 95: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,369 INFO L273 TraceCheckUtils]: 96: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume !(~lh~0 < ~n~0); {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,370 INFO L273 TraceCheckUtils]: 97: Hoare triple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} assume true; {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} is VALID [2018-11-18 23:58:36,371 INFO L268 TraceCheckUtils]: 98: Hoare quadruple {8910#(not (= (select |old(#memory_int)| |~#array~0.base|) ((as const (Array Int Int)) 0)))} {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #92#return; {8903#false} is VALID [2018-11-18 23:58:36,371 INFO L273 TraceCheckUtils]: 99: Hoare triple {8903#false} ~i~1 := 0; {8903#false} is VALID [2018-11-18 23:58:36,371 INFO L273 TraceCheckUtils]: 100: Hoare triple {8903#false} assume true; {8903#false} is VALID [2018-11-18 23:58:36,372 INFO L273 TraceCheckUtils]: 101: Hoare triple {8903#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8903#false} is VALID [2018-11-18 23:58:36,372 INFO L256 TraceCheckUtils]: 102: Hoare triple {8903#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {8903#false} is VALID [2018-11-18 23:58:36,372 INFO L273 TraceCheckUtils]: 103: Hoare triple {8903#false} ~cond := #in~cond; {8903#false} is VALID [2018-11-18 23:58:36,372 INFO L273 TraceCheckUtils]: 104: Hoare triple {8903#false} assume 0 == ~cond; {8903#false} is VALID [2018-11-18 23:58:36,372 INFO L273 TraceCheckUtils]: 105: Hoare triple {8903#false} assume !false; {8903#false} is VALID [2018-11-18 23:58:36,394 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 16 proven. 171 refuted. 0 times theorem prover too weak. 203 trivial. 0 not checked. [2018-11-18 23:58:36,395 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:58:36,395 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:58:36,403 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:58:36,449 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-18 23:58:36,449 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:58:36,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:58:36,474 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:58:36,494 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2018-11-18 23:58:36,499 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:36,511 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 12 treesize of output 15 [2018-11-18 23:58:36,518 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-18 23:58:36,529 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-18 23:58:36,547 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 6 [2018-11-18 23:58:36,549 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:36,568 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-18 23:58:36,569 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:17, output treesize:33 [2018-11-18 23:58:36,571 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:36,764 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:36,765 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:36,766 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 18 [2018-11-18 23:58:36,769 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:36,791 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:36,794 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:36,795 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:58:36,796 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 15 [2018-11-18 23:58:36,803 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:36,814 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:36,814 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:43, output treesize:11 [2018-11-18 23:58:36,818 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:36,854 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 19 [2018-11-18 23:58:36,867 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-18 23:58:36,868 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:36,872 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:36,885 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:58:36,886 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-18 23:58:36,890 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:40,914 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 19 [2018-11-18 23:58:40,978 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 32 [2018-11-18 23:58:41,007 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 23 [2018-11-18 23:58:41,016 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:41,025 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:41,068 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-18 23:58:41,069 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:37, output treesize:33 [2018-11-18 23:58:41,074 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:43,158 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 32 [2018-11-18 23:58:43,176 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 23 [2018-11-18 23:58:43,179 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:43,189 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:43,205 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-18 23:58:43,206 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:37, output treesize:33 [2018-11-18 23:58:43,212 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:45,313 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 32 [2018-11-18 23:58:45,329 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 23 [2018-11-18 23:58:45,332 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:45,343 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:45,360 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-18 23:58:45,360 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:37, output treesize:33 [2018-11-18 23:58:45,368 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:47,523 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 32 [2018-11-18 23:58:47,546 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 23 [2018-11-18 23:58:47,549 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:47,562 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:47,586 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-11-18 23:58:47,586 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 5 variables, input treesize:37, output treesize:33 [2018-11-18 23:58:47,595 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:55,637 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 25 [2018-11-18 23:58:55,757 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 27 [2018-11-18 23:58:55,767 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 19 treesize of output 1 [2018-11-18 23:58:55,768 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:58:55,770 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:55,775 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:58:55,776 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 5 variables, input treesize:36, output treesize:3 [2018-11-18 23:58:55,779 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:58:56,837 INFO L256 TraceCheckUtils]: 0: Hoare triple {8902#true} call ULTIMATE.init(); {8902#true} is VALID [2018-11-18 23:58:56,838 INFO L273 TraceCheckUtils]: 1: Hoare triple {8902#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,838 INFO L273 TraceCheckUtils]: 2: Hoare triple {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} assume true; {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,839 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} {8902#true} #88#return; {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,839 INFO L256 TraceCheckUtils]: 4: Hoare triple {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} call #t~ret9 := main(); {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,840 INFO L273 TraceCheckUtils]: 5: Hoare triple {8917#(or (and (= 0 (select |#valid| 0)) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1)) (and (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (= (select |#valid| |~#array~0.base|) 1) (= 0 |~#array~0.base|)))} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,841 INFO L273 TraceCheckUtils]: 6: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,842 INFO L273 TraceCheckUtils]: 7: Hoare triple {8905#(and (= ((as const (Array Int Int)) 0) (select (store |#memory_int| |main_~#array~1.base| (store (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|) main_~i~1)) |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,843 INFO L273 TraceCheckUtils]: 8: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,844 INFO L273 TraceCheckUtils]: 9: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,845 INFO L273 TraceCheckUtils]: 10: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,846 INFO L273 TraceCheckUtils]: 11: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,847 INFO L273 TraceCheckUtils]: 12: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,848 INFO L273 TraceCheckUtils]: 13: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,849 INFO L273 TraceCheckUtils]: 14: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,850 INFO L273 TraceCheckUtils]: 15: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,851 INFO L273 TraceCheckUtils]: 16: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,870 INFO L273 TraceCheckUtils]: 17: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,879 INFO L273 TraceCheckUtils]: 18: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-18 23:58:56,895 INFO L273 TraceCheckUtils]: 19: Hoare triple {8936#(and (exists ((main_~i~1 Int)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,905 INFO L273 TraceCheckUtils]: 20: Hoare triple {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,906 INFO L273 TraceCheckUtils]: 21: Hoare triple {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} assume true; {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,910 INFO L273 TraceCheckUtils]: 22: Hoare triple {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} assume !(~i~1 >= 0); {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-18 23:58:56,910 INFO L256 TraceCheckUtils]: 23: Hoare triple {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} call SelectionSort(); {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:56,911 INFO L273 TraceCheckUtils]: 24: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:56,911 INFO L273 TraceCheckUtils]: 25: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume true; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:56,911 INFO L273 TraceCheckUtils]: 26: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:56,912 INFO L273 TraceCheckUtils]: 27: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume true; {8906#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-18 23:58:56,915 INFO L273 TraceCheckUtils]: 28: Hoare triple {8906#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9001#(and (exists ((SelectionSort_~i~0 Int)) (<= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) |SelectionSort_#t~mem2|)) (exists ((SelectionSort_~rh~0 Int)) (<= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|)))))} is VALID [2018-11-18 23:58:56,947 INFO L273 TraceCheckUtils]: 29: Hoare triple {9001#(and (exists ((SelectionSort_~i~0 Int)) (<= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) |SelectionSort_#t~mem2|)) (exists ((SelectionSort_~rh~0 Int)) (<= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|)))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,948 INFO L273 TraceCheckUtils]: 30: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,948 INFO L273 TraceCheckUtils]: 31: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,948 INFO L273 TraceCheckUtils]: 32: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,949 INFO L273 TraceCheckUtils]: 33: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,949 INFO L273 TraceCheckUtils]: 34: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,949 INFO L273 TraceCheckUtils]: 35: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,950 INFO L273 TraceCheckUtils]: 36: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,950 INFO L273 TraceCheckUtils]: 37: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,950 INFO L273 TraceCheckUtils]: 38: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,973 INFO L273 TraceCheckUtils]: 39: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,986 INFO L273 TraceCheckUtils]: 40: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:56,995 INFO L273 TraceCheckUtils]: 41: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,009 INFO L273 TraceCheckUtils]: 42: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,018 INFO L273 TraceCheckUtils]: 43: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,028 INFO L273 TraceCheckUtils]: 44: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !(~i~0 < ~n~0); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,043 INFO L273 TraceCheckUtils]: 45: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,052 INFO L273 TraceCheckUtils]: 46: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,064 INFO L273 TraceCheckUtils]: 47: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,077 INFO L273 TraceCheckUtils]: 48: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,090 INFO L273 TraceCheckUtils]: 49: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,102 INFO L273 TraceCheckUtils]: 50: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,115 INFO L273 TraceCheckUtils]: 51: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,128 INFO L273 TraceCheckUtils]: 52: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,140 INFO L273 TraceCheckUtils]: 53: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,153 INFO L273 TraceCheckUtils]: 54: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,167 INFO L273 TraceCheckUtils]: 55: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,176 INFO L273 TraceCheckUtils]: 56: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,188 INFO L273 TraceCheckUtils]: 57: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,201 INFO L273 TraceCheckUtils]: 58: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,221 INFO L273 TraceCheckUtils]: 59: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,230 INFO L273 TraceCheckUtils]: 60: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,242 INFO L273 TraceCheckUtils]: 61: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,255 INFO L273 TraceCheckUtils]: 62: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !(~i~0 < ~n~0); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,268 INFO L273 TraceCheckUtils]: 63: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,283 INFO L273 TraceCheckUtils]: 64: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,292 INFO L273 TraceCheckUtils]: 65: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,304 INFO L273 TraceCheckUtils]: 66: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,317 INFO L273 TraceCheckUtils]: 67: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,330 INFO L273 TraceCheckUtils]: 68: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,344 INFO L273 TraceCheckUtils]: 69: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,353 INFO L273 TraceCheckUtils]: 70: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,363 INFO L273 TraceCheckUtils]: 71: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,377 INFO L273 TraceCheckUtils]: 72: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,386 INFO L273 TraceCheckUtils]: 73: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume #t~mem2 < #t~mem3;havoc #t~mem3;havoc #t~mem2;~rh~0 := ~i~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,399 INFO L273 TraceCheckUtils]: 74: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,412 INFO L273 TraceCheckUtils]: 75: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,424 INFO L273 TraceCheckUtils]: 76: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !(~i~0 < ~n~0); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,437 INFO L273 TraceCheckUtils]: 77: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,450 INFO L273 TraceCheckUtils]: 78: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,469 INFO L273 TraceCheckUtils]: 79: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,478 INFO L273 TraceCheckUtils]: 80: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,490 INFO L273 TraceCheckUtils]: 81: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,503 INFO L273 TraceCheckUtils]: 82: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,516 INFO L273 TraceCheckUtils]: 83: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,535 INFO L273 TraceCheckUtils]: 84: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,544 INFO L273 TraceCheckUtils]: 85: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,556 INFO L273 TraceCheckUtils]: 86: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !(~i~0 < ~n~0); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,569 INFO L273 TraceCheckUtils]: 87: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,571 INFO L273 TraceCheckUtils]: 88: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,571 INFO L273 TraceCheckUtils]: 89: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,573 INFO L273 TraceCheckUtils]: 90: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,573 INFO L273 TraceCheckUtils]: 91: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,577 INFO L273 TraceCheckUtils]: 92: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !(~i~0 < ~n~0); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,577 INFO L273 TraceCheckUtils]: 93: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,577 INFO L273 TraceCheckUtils]: 94: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,578 INFO L273 TraceCheckUtils]: 95: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,578 INFO L273 TraceCheckUtils]: 96: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume !(~lh~0 < ~n~0); {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,578 INFO L273 TraceCheckUtils]: 97: Hoare triple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} assume true; {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} is VALID [2018-11-18 23:58:57,579 INFO L268 TraceCheckUtils]: 98: Hoare quadruple {9005#(exists ((SelectionSort_~rh~0 Int) (SelectionSort_~i~0 Int)) (<= (+ (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* 4 SelectionSort_~i~0))) 1) (select (select |old(#memory_int)| |~#array~0.base|) (+ (* 4 SelectionSort_~rh~0) |~#array~0.offset|))))} {8973#(and (exists ((v_prenex_5 Int) (main_~i~1 Int) (|main_~#array~1.base| Int) (|main_~#array~1.offset| Int)) (and (= v_prenex_5 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_prenex_5) |main_~#array~1.offset|))) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|))) (not (= |~#array~0.base| |main_~#array~1.base|)))) (= ((as const (Array Int Int)) 0) (select |#memory_int| |~#array~0.base|)))} #92#return; {8903#false} is VALID [2018-11-18 23:58:57,579 INFO L273 TraceCheckUtils]: 99: Hoare triple {8903#false} ~i~1 := 0; {8903#false} is VALID [2018-11-18 23:58:57,580 INFO L273 TraceCheckUtils]: 100: Hoare triple {8903#false} assume true; {8903#false} is VALID [2018-11-18 23:58:57,580 INFO L273 TraceCheckUtils]: 101: Hoare triple {8903#false} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8903#false} is VALID [2018-11-18 23:58:57,580 INFO L256 TraceCheckUtils]: 102: Hoare triple {8903#false} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {8903#false} is VALID [2018-11-18 23:58:57,580 INFO L273 TraceCheckUtils]: 103: Hoare triple {8903#false} ~cond := #in~cond; {8903#false} is VALID [2018-11-18 23:58:57,580 INFO L273 TraceCheckUtils]: 104: Hoare triple {8903#false} assume 0 == ~cond; {8903#false} is VALID [2018-11-18 23:58:57,580 INFO L273 TraceCheckUtils]: 105: Hoare triple {8903#false} assume !false; {8903#false} is VALID [2018-11-18 23:58:57,651 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 8 proven. 61 refuted. 0 times theorem prover too weak. 321 trivial. 0 not checked. [2018-11-18 23:58:57,673 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:58:57,673 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2018-11-18 23:58:57,673 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 106 [2018-11-18 23:58:57,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:58:57,678 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-18 23:59:04,067 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 74 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2018-11-18 23:59:04,067 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-18 23:59:04,068 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-18 23:59:04,068 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=145, Unknown=4, NotChecked=0, Total=182 [2018-11-18 23:59:04,069 INFO L87 Difference]: Start difference. First operand 128 states and 146 transitions. Second operand 14 states. [2018-11-18 23:59:44,688 WARN L180 SmtUtils]: Spent 4.06 s on a formula simplification. DAG size of input: 32 DAG size of output: 32 [2018-11-18 23:59:53,214 WARN L180 SmtUtils]: Spent 4.06 s on a formula simplification. DAG size of input: 37 DAG size of output: 37 [2018-11-18 23:59:57,468 WARN L180 SmtUtils]: Spent 4.10 s on a formula simplification. DAG size of input: 64 DAG size of output: 42 [2018-11-19 00:00:05,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-19 00:00:05,392 INFO L93 Difference]: Finished difference Result 209 states and 240 transitions. [2018-11-19 00:00:05,393 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-19 00:00:05,393 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 106 [2018-11-19 00:00:05,393 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-19 00:00:05,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-19 00:00:05,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2018-11-19 00:00:05,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-19 00:00:05,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2018-11-19 00:00:05,396 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 64 transitions. [2018-11-19 00:00:09,132 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-19 00:00:09,133 INFO L225 Difference]: With dead ends: 209 [2018-11-19 00:00:09,134 INFO L226 Difference]: Without dead ends: 111 [2018-11-19 00:00:09,134 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 104 SyntacticMatches, 10 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 45.0s TimeCoverageRelationStatistics Valid=74, Invalid=258, Unknown=10, NotChecked=0, Total=342 [2018-11-19 00:00:09,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-19 00:00:09,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2018-11-19 00:00:09,704 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-19 00:00:09,704 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 111 states. [2018-11-19 00:00:09,704 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2018-11-19 00:00:09,704 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2018-11-19 00:00:09,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-19 00:00:09,706 INFO L93 Difference]: Finished difference Result 111 states and 116 transitions. [2018-11-19 00:00:09,706 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 116 transitions. [2018-11-19 00:00:09,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-19 00:00:09,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-19 00:00:09,707 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2018-11-19 00:00:09,707 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2018-11-19 00:00:09,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-19 00:00:09,709 INFO L93 Difference]: Finished difference Result 111 states and 116 transitions. [2018-11-19 00:00:09,709 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 116 transitions. [2018-11-19 00:00:09,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-19 00:00:09,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-19 00:00:09,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-19 00:00:09,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-19 00:00:09,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-19 00:00:09,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 116 transitions. [2018-11-19 00:00:09,712 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 116 transitions. Word has length 106 [2018-11-19 00:00:09,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-19 00:00:09,712 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 116 transitions. [2018-11-19 00:00:09,712 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-19 00:00:09,712 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 116 transitions. [2018-11-19 00:00:09,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2018-11-19 00:00:09,713 INFO L367 BasicCegarLoop]: Found error trace [2018-11-19 00:00:09,714 INFO L375 BasicCegarLoop]: trace histogram [15, 10, 10, 10, 6, 6, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-19 00:00:09,714 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-19 00:00:09,714 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-19 00:00:09,714 INFO L82 PathProgramCache]: Analyzing trace with hash -1894503371, now seen corresponding path program 1 times [2018-11-19 00:00:09,714 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-19 00:00:09,715 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-19 00:00:09,715 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-19 00:00:09,715 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-19 00:00:09,715 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-19 00:00:09,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-19 00:00:10,377 WARN L180 SmtUtils]: Spent 114.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-19 00:00:10,967 INFO L256 TraceCheckUtils]: 0: Hoare triple {9885#true} call ULTIMATE.init(); {9885#true} is VALID [2018-11-19 00:00:10,967 INFO L273 TraceCheckUtils]: 1: Hoare triple {9885#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#array~0.base, ~#array~0.offset := #Ultimate.alloc(20);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base);~n~0 := 5; {9887#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2018-11-19 00:00:10,968 INFO L273 TraceCheckUtils]: 2: Hoare triple {9887#(= (select |#valid| |~#array~0.base|) 1)} assume true; {9887#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2018-11-19 00:00:10,968 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9887#(= (select |#valid| |~#array~0.base|) 1)} {9885#true} #88#return; {9887#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2018-11-19 00:00:10,969 INFO L256 TraceCheckUtils]: 4: Hoare triple {9887#(= (select |#valid| |~#array~0.base|) 1)} call #t~ret9 := main(); {9887#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2018-11-19 00:00:10,970 INFO L273 TraceCheckUtils]: 5: Hoare triple {9887#(= (select |#valid| |~#array~0.base|) 1)} call ~#array~1.base, ~#array~1.offset := #Ultimate.alloc(20);havoc ~i~1;~i~1 := 4; {9888#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 4) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,970 INFO L273 TraceCheckUtils]: 6: Hoare triple {9888#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 4) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {9888#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 4) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,978 INFO L273 TraceCheckUtils]: 7: Hoare triple {9888#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 4) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9888#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 4) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,979 INFO L273 TraceCheckUtils]: 8: Hoare triple {9888#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 4) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {9889#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 3) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,980 INFO L273 TraceCheckUtils]: 9: Hoare triple {9889#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 3) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {9889#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 3) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,980 INFO L273 TraceCheckUtils]: 10: Hoare triple {9889#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 3) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9889#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 3) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,981 INFO L273 TraceCheckUtils]: 11: Hoare triple {9889#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 3) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {9890#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,981 INFO L273 TraceCheckUtils]: 12: Hoare triple {9890#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {9890#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,982 INFO L273 TraceCheckUtils]: 13: Hoare triple {9890#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9890#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,983 INFO L273 TraceCheckUtils]: 14: Hoare triple {9890#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {9891#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 1) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,983 INFO L273 TraceCheckUtils]: 15: Hoare triple {9891#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 1) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {9891#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 1) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,984 INFO L273 TraceCheckUtils]: 16: Hoare triple {9891#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 1) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9891#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 1) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,985 INFO L273 TraceCheckUtils]: 17: Hoare triple {9891#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 1) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {9892#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 0) (or (not (= |~#array~0.base| |main_~#array~1.base|)) (not (= main_~i~1 0))))} is VALID [2018-11-19 00:00:10,986 INFO L273 TraceCheckUtils]: 18: Hoare triple {9892#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 0) (or (not (= |~#array~0.base| |main_~#array~1.base|)) (not (= main_~i~1 0))))} assume true; {9892#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 0) (or (not (= |~#array~0.base| |main_~#array~1.base|)) (not (= main_~i~1 0))))} is VALID [2018-11-19 00:00:10,987 INFO L273 TraceCheckUtils]: 19: Hoare triple {9892#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 0) (or (not (= |~#array~0.base| |main_~#array~1.base|)) (not (= main_~i~1 0))))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9893#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)) main_~i~1) (= main_~i~1 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,988 INFO L273 TraceCheckUtils]: 20: Hoare triple {9893#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 main_~i~1) |main_~#array~1.offset|)) main_~i~1) (= main_~i~1 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} #t~post6 := ~i~1;~i~1 := #t~post6 - 1;havoc #t~post6; {9894#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,988 INFO L273 TraceCheckUtils]: 21: Hoare triple {9894#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume true; {9894#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,989 INFO L273 TraceCheckUtils]: 22: Hoare triple {9894#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} assume !(~i~1 >= 0); {9894#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} is VALID [2018-11-19 00:00:10,990 INFO L256 TraceCheckUtils]: 23: Hoare triple {9894#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} call SelectionSort(); {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,991 INFO L273 TraceCheckUtils]: 24: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,991 INFO L273 TraceCheckUtils]: 25: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume true; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,992 INFO L273 TraceCheckUtils]: 26: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,992 INFO L273 TraceCheckUtils]: 27: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume true; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,993 INFO L273 TraceCheckUtils]: 28: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,993 INFO L273 TraceCheckUtils]: 29: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,994 INFO L273 TraceCheckUtils]: 30: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,994 INFO L273 TraceCheckUtils]: 31: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume true; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,995 INFO L273 TraceCheckUtils]: 32: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,995 INFO L273 TraceCheckUtils]: 33: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,996 INFO L273 TraceCheckUtils]: 34: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,996 INFO L273 TraceCheckUtils]: 35: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume true; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,997 INFO L273 TraceCheckUtils]: 36: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,997 INFO L273 TraceCheckUtils]: 37: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,998 INFO L273 TraceCheckUtils]: 38: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,999 INFO L273 TraceCheckUtils]: 39: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume true; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:10,999 INFO L273 TraceCheckUtils]: 40: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:11,000 INFO L273 TraceCheckUtils]: 41: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:11,000 INFO L273 TraceCheckUtils]: 42: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:11,001 INFO L273 TraceCheckUtils]: 43: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume true; {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:11,001 INFO L273 TraceCheckUtils]: 44: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {9895#(= |#memory_int| |old(#memory_int)|)} is VALID [2018-11-19 00:00:11,014 INFO L273 TraceCheckUtils]: 45: Hoare triple {9895#(= |#memory_int| |old(#memory_int)|)} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,014 INFO L273 TraceCheckUtils]: 46: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,015 INFO L273 TraceCheckUtils]: 47: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,015 INFO L273 TraceCheckUtils]: 48: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,015 INFO L273 TraceCheckUtils]: 49: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,016 INFO L273 TraceCheckUtils]: 50: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,016 INFO L273 TraceCheckUtils]: 51: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,016 INFO L273 TraceCheckUtils]: 52: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,016 INFO L273 TraceCheckUtils]: 53: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,017 INFO L273 TraceCheckUtils]: 54: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,017 INFO L273 TraceCheckUtils]: 55: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,018 INFO L273 TraceCheckUtils]: 56: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,019 INFO L273 TraceCheckUtils]: 57: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,019 INFO L273 TraceCheckUtils]: 58: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,020 INFO L273 TraceCheckUtils]: 59: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,020 INFO L273 TraceCheckUtils]: 60: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,021 INFO L273 TraceCheckUtils]: 61: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,021 INFO L273 TraceCheckUtils]: 62: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,022 INFO L273 TraceCheckUtils]: 63: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,023 INFO L273 TraceCheckUtils]: 64: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,023 INFO L273 TraceCheckUtils]: 65: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,024 INFO L273 TraceCheckUtils]: 66: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,025 INFO L273 TraceCheckUtils]: 67: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,025 INFO L273 TraceCheckUtils]: 68: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,026 INFO L273 TraceCheckUtils]: 69: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,026 INFO L273 TraceCheckUtils]: 70: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,027 INFO L273 TraceCheckUtils]: 71: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,027 INFO L273 TraceCheckUtils]: 72: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,028 INFO L273 TraceCheckUtils]: 73: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,028 INFO L273 TraceCheckUtils]: 74: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,029 INFO L273 TraceCheckUtils]: 75: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,029 INFO L273 TraceCheckUtils]: 76: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,030 INFO L273 TraceCheckUtils]: 77: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,031 INFO L273 TraceCheckUtils]: 78: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,031 INFO L273 TraceCheckUtils]: 79: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,032 INFO L273 TraceCheckUtils]: 80: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,032 INFO L273 TraceCheckUtils]: 81: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,033 INFO L273 TraceCheckUtils]: 82: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem2 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,034 INFO L273 TraceCheckUtils]: 83: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem2 < #t~mem3);havoc #t~mem3;havoc #t~mem2; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,034 INFO L273 TraceCheckUtils]: 84: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,035 INFO L273 TraceCheckUtils]: 85: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,035 INFO L273 TraceCheckUtils]: 86: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,036 INFO L273 TraceCheckUtils]: 87: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,037 INFO L273 TraceCheckUtils]: 88: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,037 INFO L273 TraceCheckUtils]: 89: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,038 INFO L273 TraceCheckUtils]: 90: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,038 INFO L273 TraceCheckUtils]: 91: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,039 INFO L273 TraceCheckUtils]: 92: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,040 INFO L273 TraceCheckUtils]: 93: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem5, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem5;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,041 INFO L273 TraceCheckUtils]: 94: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post0 := ~lh~0;~lh~0 := 1 + #t~post0;havoc #t~post0; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,041 INFO L273 TraceCheckUtils]: 95: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,042 INFO L273 TraceCheckUtils]: 96: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,042 INFO L273 TraceCheckUtils]: 97: Hoare triple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2018-11-19 00:00:11,043 INFO L268 TraceCheckUtils]: 98: Hoare quadruple {9896#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {9894#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0) (not (= |~#array~0.base| |main_~#array~1.base|)))} #92#return; {9897#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2018-11-19 00:00:11,044 INFO L273 TraceCheckUtils]: 99: Hoare triple {9897#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} ~i~1 := 0; {9898#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ |main_~#array~1.offset| (* 4 main_~i~1)))) (= main_~i~1 0))} is VALID [2018-11-19 00:00:11,045 INFO L273 TraceCheckUtils]: 100: Hoare triple {9898#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ |main_~#array~1.offset| (* 4 main_~i~1)))) (= main_~i~1 0))} assume true; {9898#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ |main_~#array~1.offset| (* 4 main_~i~1)))) (= main_~i~1 0))} is VALID [2018-11-19 00:00:11,046 INFO L273 TraceCheckUtils]: 101: Hoare triple {9898#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ |main_~#array~1.offset| (* 4 main_~i~1)))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem8 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9899#(and (= main_~i~1 |main_#t~mem8|) (= main_~i~1 0))} is VALID [2018-11-19 00:00:11,047 INFO L256 TraceCheckUtils]: 102: Hoare triple {9899#(and (= main_~i~1 |main_#t~mem8|) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem8 == ~i~1 then 1 else 0)); {9900#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-19 00:00:11,048 INFO L273 TraceCheckUtils]: 103: Hoare triple {9900#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {9901#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-19 00:00:11,048 INFO L273 TraceCheckUtils]: 104: Hoare triple {9901#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {9886#false} is VALID [2018-11-19 00:00:11,049 INFO L273 TraceCheckUtils]: 105: Hoare triple {9886#false} assume !false; {9886#false} is VALID [2018-11-19 00:00:11,066 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 22 proven. 180 refuted. 0 times theorem prover too weak. 188 trivial. 0 not checked. [2018-11-19 00:00:11,067 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-19 00:00:11,067 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-19 00:00:11,076 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-19 00:00:11,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-19 00:00:11,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-19 00:00:11,160 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-19 00:00:11,253 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2018-11-19 00:00:11,264 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:11,271 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 12 treesize of output 15 [2018-11-19 00:00:11,273 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:11,285 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-19 00:00:11,296 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-19 00:00:11,297 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:9, output treesize:21 [2018-11-19 00:00:11,299 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-19 00:00:11,349 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:11,351 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:11,353 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:11,354 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 12 [2018-11-19 00:00:11,378 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,398 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:11,399 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:11,400 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 8 [2018-11-19 00:00:11,401 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,412 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,412 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:37, output treesize:8 [2018-11-19 00:00:11,415 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-19 00:00:11,552 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-19 00:00:11,554 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-19 00:00:11,556 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,559 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,564 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,564 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:16, output treesize:12 [2018-11-19 00:00:11,609 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-19 00:00:11,615 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-19 00:00:11,616 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,617 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,622 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-19 00:00:11,623 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:15, output treesize:3 [2018-11-19 00:00:11,625 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-19 00:00:12,730 WARN L854 $PredicateComparison]: unable to prove that (exists ((SelectionSort_~lh~0 Int) (SelectionSort_~rh~0 Int) (SelectionSort_~temp~0 Int)) (= (store |c_old(#memory_int)| |c_~#array~0.base| (let ((.cse1 (+ (* 4 SelectionSort_~rh~0) |c_~#array~0.offset|))) (store (let ((.cse0 (select |c_old(#memory_int)| |c_~#array~0.base|))) (store .cse0 (+ (* 4 SelectionSort_~lh~0) |c_~#array~0.offset|) (select .cse0 .cse1))) .cse1 SelectionSort_~temp~0))) |c_#memory_int|)) is different from true [2018-11-19 00:00:16,197 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_7 Int) (SelectionSort_~lh~0 Int) (SelectionSort_~rh~0 Int) (v_prenex_8 Int) (v_prenex_9 Int) (SelectionSort_~temp~0 Int)) (= |c_#memory_int| (store |c_old(#memory_int)| |c_~#array~0.base| (let ((.cse1 (+ (* 4 SelectionSort_~rh~0) |c_~#array~0.offset|))) (store (let ((.cse0 (let ((.cse3 (+ |c_~#array~0.offset| (* 4 v_prenex_8)))) (store (let ((.cse2 (select |c_old(#memory_int)| |c_~#array~0.base|))) (store .cse2 (+ (* 4 v_prenex_7) |c_~#array~0.offset|) (select .cse2 .cse3))) .cse3 v_prenex_9)))) (store .cse0 (+ (* 4 SelectionSort_~lh~0) |c_~#array~0.offset|) (select .cse0 .cse1))) .cse1 SelectionSort_~temp~0))))) is different from true [2018-11-19 00:00:20,343 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_7 Int) (SelectionSort_~lh~0 Int) (v_prenex_12 Int) (v_prenex_11 Int) (SelectionSort_~rh~0 Int) (v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int) (SelectionSort_~temp~0 Int)) (= (store |c_old(#memory_int)| |c_~#array~0.base| (let ((.cse1 (+ (* 4 SelectionSort_~rh~0) |c_~#array~0.offset|))) (store (let ((.cse0 (let ((.cse3 (+ (* 4 v_prenex_11) |c_~#array~0.offset|))) (store (let ((.cse2 (let ((.cse5 (+ |c_~#array~0.offset| (* 4 v_prenex_8)))) (store (let ((.cse4 (select |c_old(#memory_int)| |c_~#array~0.base|))) (store .cse4 (+ (* 4 v_prenex_7) |c_~#array~0.offset|) (select .cse4 .cse5))) .cse5 v_prenex_9)))) (store .cse2 (+ |c_~#array~0.offset| (* 4 v_prenex_10)) (select .cse2 .cse3))) .cse3 v_prenex_12)))) (store .cse0 (+ (* 4 SelectionSort_~lh~0) |c_~#array~0.offset|) (select .cse0 .cse1))) .cse1 SelectionSort_~temp~0))) |c_#memory_int|)) is different from true [2018-11-19 00:00:22,467 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_7 Int) (v_prenex_15 Int) (SelectionSort_~lh~0 Int) (v_prenex_12 Int) (v_prenex_11 Int) (SelectionSort_~rh~0 Int) (v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int) (SelectionSort_~temp~0 Int)) (= (store |c_old(#memory_int)| |c_~#array~0.base| (let ((.cse1 (+ (* 4 SelectionSort_~rh~0) |c_~#array~0.offset|))) (store (let ((.cse0 (let ((.cse3 (+ |c_~#array~0.offset| (* 4 v_prenex_14)))) (store (let ((.cse2 (let ((.cse5 (+ (* 4 v_prenex_11) |c_~#array~0.offset|))) (store (let ((.cse4 (let ((.cse7 (+ |c_~#array~0.offset| (* 4 v_prenex_8)))) (store (let ((.cse6 (select |c_old(#memory_int)| |c_~#array~0.base|))) (store .cse6 (+ (* 4 v_prenex_7) |c_~#array~0.offset|) (select .cse6 .cse7))) .cse7 v_prenex_9)))) (store .cse4 (+ |c_~#array~0.offset| (* 4 v_prenex_10)) (select .cse4 .cse5))) .cse5 v_prenex_12)))) (store .cse2 (+ |c_~#array~0.offset| (* 4 v_prenex_13)) (select .cse2 .cse3))) .cse3 v_prenex_15)))) (store .cse0 (+ (* 4 SelectionSort_~lh~0) |c_~#array~0.offset|) (select .cse0 .cse1))) .cse1 SelectionSort_~temp~0))) |c_#memory_int|)) is different from true [2018-11-19 00:00:24,583 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_16 Int) (v_prenex_15 Int) (SelectionSort_~lh~0 Int) (v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_12 Int) (v_prenex_11 Int) (SelectionSort_~rh~0 Int) (v_prenex_14 Int) (v_prenex_13 Int) (v_prenex_10 Int) (v_prenex_8 Int) (v_prenex_9 Int) (SelectionSort_~temp~0 Int) (v_prenex_7 Int)) (= (store |c_old(#memory_int)| |c_~#array~0.base| (let ((.cse1 (+ (* 4 SelectionSort_~rh~0) |c_~#array~0.offset|))) (store (let ((.cse0 (let ((.cse3 (+ (* 4 v_prenex_17) |c_~#array~0.offset|))) (store (let ((.cse2 (let ((.cse5 (+ |c_~#array~0.offset| (* 4 v_prenex_14)))) (store (let ((.cse4 (let ((.cse7 (+ (* 4 v_prenex_11) |c_~#array~0.offset|))) (store (let ((.cse6 (let ((.cse9 (+ |c_~#array~0.offset| (* 4 v_prenex_8)))) (store (let ((.cse8 (select |c_old(#memory_int)| |c_~#array~0.base|))) (store .cse8 (+ (* 4 v_prenex_7) |c_~#array~0.offset|) (select .cse8 .cse9))) .cse9 v_prenex_9)))) (store .cse6 (+ |c_~#array~0.offset| (* 4 v_prenex_10)) (select .cse6 .cse7))) .cse7 v_prenex_12)))) (store .cse4 (+ |c_~#array~0.offset| (* 4 v_prenex_13)) (select .cse4 .cse5))) .cse5 v_prenex_15)))) (store .cse2 (+ (* 4 v_prenex_16) |c_~#array~0.offset|) (select .cse2 .cse3))) .cse3 v_prenex_18)))) (store .cse0 (+ (* 4 SelectionSort_~lh~0) |c_~#array~0.offset|) (select .cse0 .cse1))) .cse1 SelectionSort_~temp~0))) |c_#memory_int|)) is different from true [2018-11-19 00:00:24,814 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 698 treesize of output 637 [2018-11-19 00:00:24,873 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 625 treesize of output 436 [2018-11-19 00:00:24,981 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:25,088 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 385 treesize of output 359 [2018-11-19 00:00:25,117 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:25,174 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 335 treesize of output 261 [2018-11-19 00:00:25,361 WARN L180 SmtUtils]: Spent 155.00 ms on a formula simplification that was a NOOP. DAG size: 101 [2018-11-19 00:00:25,381 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:25,429 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 189 treesize of output 191 [2018-11-19 00:00:25,446 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:25,469 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 167 treesize of output 160 [2018-11-19 00:00:25,630 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification that was a NOOP. DAG size: 89 [2018-11-19 00:00:25,647 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:25,648 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:25,704 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 117 treesize of output 138 [2018-11-19 00:00:25,766 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:25,856 INFO L303 Elim1Store]: Index analysis took 122 ms [2018-11-19 00:00:25,879 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 128 treesize of output 135 [2018-11-19 00:00:26,013 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,014 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:26,019 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 104 [2018-11-19 00:00:26,036 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,057 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 38 treesize of output 64 [2018-11-19 00:00:26,077 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,077 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:26,101 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 69 [2018-11-19 00:00:26,108 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:26,163 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,164 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,164 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:26,169 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 69 [2018-11-19 00:00:26,173 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:26,216 INFO L267 ElimStorePlain]: Start of recursive call 11: 2 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-19 00:00:26,271 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-19 00:00:26,276 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,277 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,278 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:26,295 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 95 treesize of output 123 [2018-11-19 00:00:26,310 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,311 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,353 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 44 treesize of output 113 [2018-11-19 00:00:26,497 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,520 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:26,591 INFO L303 Elim1Store]: Index analysis took 131 ms [2018-11-19 00:00:26,601 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 81 treesize of output 93 [2018-11-19 00:00:26,609 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:27,005 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,007 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,009 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,017 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 81 [2018-11-19 00:00:27,023 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:27,165 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,167 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,205 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 5 case distinctions, treesize of input 55 treesize of output 93 [2018-11-19 00:00:27,211 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 4 xjuncts. [2018-11-19 00:00:27,368 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,372 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,391 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 48 treesize of output 84 [2018-11-19 00:00:27,396 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:27,520 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,522 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,550 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 48 treesize of output 97 [2018-11-19 00:00:27,560 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 3 xjuncts. [2018-11-19 00:00:27,699 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,701 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:27,754 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 7 case distinctions, treesize of input 46 treesize of output 112 [2018-11-19 00:00:27,764 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 6 xjuncts. [2018-11-19 00:00:27,864 INFO L267 ElimStorePlain]: Start of recursive call 15: 8 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-19 00:00:27,949 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, End of recursive call: and 5 xjuncts. [2018-11-19 00:00:28,271 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,272 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:28,300 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 90 treesize of output 118 [2018-11-19 00:00:28,318 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,342 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 108 treesize of output 122 [2018-11-19 00:00:28,361 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,362 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:28,390 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 3 case distinctions, treesize of input 110 treesize of output 127 [2018-11-19 00:00:28,397 INFO L267 ElimStorePlain]: Start of recursive call 24: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:28,522 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,524 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,525 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:28,530 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 93 treesize of output 120 [2018-11-19 00:00:28,537 INFO L267 ElimStorePlain]: Start of recursive call 25: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:28,633 INFO L267 ElimStorePlain]: Start of recursive call 23: 2 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-19 00:00:28,778 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,835 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 6 case distinctions, treesize of input 87 treesize of output 157 [2018-11-19 00:00:28,881 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,883 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:28,884 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:28,889 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 111 treesize of output 138 [2018-11-19 00:00:28,896 INFO L267 ElimStorePlain]: Start of recursive call 27: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:29,697 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:29,699 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:29,700 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:29,701 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:29,776 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 4 case distinctions, treesize of input 117 treesize of output 136 [2018-11-19 00:00:29,780 INFO L267 ElimStorePlain]: Start of recursive call 28: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:30,622 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:30,624 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:30,625 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:30,629 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 100 treesize of output 127 [2018-11-19 00:00:30,633 INFO L267 ElimStorePlain]: Start of recursive call 29: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:31,456 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:31,458 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:31,473 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 92 treesize of output 130 [2018-11-19 00:00:31,479 INFO L267 ElimStorePlain]: Start of recursive call 30: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:32,146 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:32,147 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:32,148 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:32,180 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 5 case distinctions, treesize of input 105 treesize of output 124 [2018-11-19 00:00:32,186 INFO L267 ElimStorePlain]: Start of recursive call 31: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:32,766 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:32,767 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:32,769 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:32,771 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:32,771 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:32,781 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 119 treesize of output 160 [2018-11-19 00:00:32,787 INFO L267 ElimStorePlain]: Start of recursive call 32: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:33,282 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:33,283 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:33,283 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:33,312 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 4 case distinctions, treesize of input 90 treesize of output 142 [2018-11-19 00:00:33,318 INFO L267 ElimStorePlain]: Start of recursive call 33: End of recursive call: and 4 xjuncts. [2018-11-19 00:00:34,618 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:34,619 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:34,671 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 93 treesize of output 140 [2018-11-19 00:00:34,678 INFO L267 ElimStorePlain]: Start of recursive call 34: End of recursive call: and 6 xjuncts. [2018-11-19 00:00:35,461 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:35,463 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:35,465 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:35,466 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:35,467 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:35,475 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 119 treesize of output 160 [2018-11-19 00:00:35,485 INFO L267 ElimStorePlain]: Start of recursive call 35: End of recursive call: and 1 xjuncts. [2018-11-19 00:00:35,786 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:35,788 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:35,790 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:35,805 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 101 treesize of output 151 [2018-11-19 00:00:35,811 INFO L267 ElimStorePlain]: Start of recursive call 36: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:36,812 INFO L267 ElimStorePlain]: Start of recursive call 26: 16 dim-1 vars, End of recursive call: and 8 xjuncts. [2018-11-19 00:00:37,091 INFO L267 ElimStorePlain]: Start of recursive call 22: 2 dim-1 vars, End of recursive call: and 8 xjuncts. [2018-11-19 00:00:37,105 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,107 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,107 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:37,148 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 5 case distinctions, treesize of input 97 treesize of output 137 [2018-11-19 00:00:37,161 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,163 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,262 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 10 case distinctions, treesize of input 125 treesize of output 230 [2018-11-19 00:00:37,263 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 7 [2018-11-19 00:00:37,612 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,625 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,626 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,628 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:37,630 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:37,657 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 165 treesize of output 179 [2018-11-19 00:00:37,662 INFO L267 ElimStorePlain]: Start of recursive call 39: End of recursive call: and 2 xjuncts. [2018-11-19 00:00:51,909 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:51,911 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:00:51,916 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:00:51,945 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 4 case distinctions, treesize of input 117 treesize of output 146 [2018-11-19 00:00:51,951 INFO L267 ElimStorePlain]: Start of recursive call 40: End of recursive call: and 4 xjuncts. [2018-11-19 00:01:00,296 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:01:00,297 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:01:00,302 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:01:00,344 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 6 case distinctions, treesize of input 114 treesize of output 167 [2018-11-19 00:01:00,350 INFO L267 ElimStorePlain]: Start of recursive call 41: End of recursive call: and 6 xjuncts. [2018-11-19 00:01:16,267 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:01:16,328 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:01:16,334 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:01:16,342 INFO L303 Elim1Store]: Index analysis took 119 ms [2018-11-19 00:01:16,365 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 4 case distinctions, treesize of input 117 treesize of output 166 [2018-11-19 00:01:16,372 INFO L267 ElimStorePlain]: Start of recursive call 42: End of recursive call: and 4 xjuncts. [2018-11-19 00:01:23,732 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:01:23,734 INFO L700 Elim1Store]: detected not equals via solver [2018-11-19 00:01:23,745 INFO L682 Elim1Store]: detected equality via solver [2018-11-19 00:01:23,786 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 7 case distinctions, treesize of input 108 treesize of output 165 [2018-11-19 00:01:23,794 INFO L267 ElimStorePlain]: Start of recursive call 43: End of recursive call: and 6 xjuncts.