/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/recursive/recHanoi01.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:07:56,195 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:07:56,198 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:07:56,217 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:07:56,218 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:07:56,220 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:07:56,221 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:07:56,232 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:07:56,236 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:07:56,239 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:07:56,241 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:07:56,243 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:07:56,243 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:07:56,245 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:07:56,247 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:07:56,248 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:07:56,250 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:07:56,251 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:07:56,252 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:07:56,257 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:07:56,262 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:07:56,265 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:07:56,267 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:07:56,268 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:07:56,271 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:07:56,271 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:07:56,271 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:07:56,274 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:07:56,275 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:07:56,277 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:07:56,277 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:07:56,278 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:07:56,279 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:07:56,280 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:07:56,281 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:07:56,281 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:07:56,282 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:07:56,282 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:07:56,282 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:07:56,283 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:07:56,285 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:07:56,286 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-17 22:07:56,325 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:07:56,325 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:07:56,329 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:07:56,330 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:07:56,330 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:07:56,330 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:07:56,330 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:07:56,330 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:07:56,331 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:07:56,331 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:07:56,331 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:07:56,331 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:07:56,331 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:07:56,332 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:07:56,332 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:07:56,332 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:07:56,332 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:07:56,332 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:07:56,333 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:07:56,333 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:07:56,333 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:07:56,333 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:07:56,333 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:07:56,334 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:07:56,334 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:07:56,334 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:07:56,335 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:07:56,335 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:07:56,336 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:07:56,336 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:07:56,613 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:07:56,635 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:07:56,639 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:07:56,640 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:07:56,641 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:07:56,642 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/recursive/recHanoi01.c [2020-07-17 22:07:56,720 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1275fa057/07c09b630f0c4ea68038375e14c57b09/FLAG92efd00f5 [2020-07-17 22:07:57,177 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:07:57,178 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/recursive/recHanoi01.c [2020-07-17 22:07:57,186 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1275fa057/07c09b630f0c4ea68038375e14c57b09/FLAG92efd00f5 [2020-07-17 22:07:57,534 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1275fa057/07c09b630f0c4ea68038375e14c57b09 [2020-07-17 22:07:57,542 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:07:57,545 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:07:57,547 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:07:57,547 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:07:57,550 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:07:57,552 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,555 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5b08e308 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57, skipping insertion in model container [2020-07-17 22:07:57,555 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,563 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:07:57,583 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:07:57,763 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:07:57,769 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:07:57,789 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:07:57,805 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:07:57,805 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57 WrapperNode [2020-07-17 22:07:57,805 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:07:57,806 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:07:57,806 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:07:57,806 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:07:57,820 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,820 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,903 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,903 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,913 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,919 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,924 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (1/1) ... [2020-07-17 22:07:57,926 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:07:57,926 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:07:57,926 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:07:57,926 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:07:57,927 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (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 [2020-07-17 22:07:57,980 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:07:57,980 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:07:57,980 INFO L138 BoogieDeclarations]: Found implementation of procedure hanoi [2020-07-17 22:07:57,980 INFO L138 BoogieDeclarations]: Found implementation of procedure applyHanoi [2020-07-17 22:07:57,981 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:07:57,981 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:07:57,981 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:07:57,981 INFO L130 BoogieDeclarations]: Found specification of procedure hanoi [2020-07-17 22:07:57,981 INFO L130 BoogieDeclarations]: Found specification of procedure applyHanoi [2020-07-17 22:07:57,981 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:07:57,982 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:07:57,982 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:07:58,271 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:07:58,272 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-17 22:07:58,276 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:07:58 BoogieIcfgContainer [2020-07-17 22:07:58,276 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:07:58,278 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:07:58,278 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:07:58,281 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:07:58,282 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:07:57" (1/3) ... [2020-07-17 22:07:58,283 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58737123 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:07:58, skipping insertion in model container [2020-07-17 22:07:58,283 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:07:57" (2/3) ... [2020-07-17 22:07:58,283 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58737123 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:07:58, skipping insertion in model container [2020-07-17 22:07:58,284 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:07:58" (3/3) ... [2020-07-17 22:07:58,286 INFO L109 eAbstractionObserver]: Analyzing ICFG recHanoi01.c [2020-07-17 22:07:58,297 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:07:58,306 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:07:58,323 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:07:58,349 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:07:58,349 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:07:58,349 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:07:58,350 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:07:58,350 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:07:58,350 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:07:58,350 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:07:58,350 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:07:58,372 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states. [2020-07-17 22:07:58,379 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-17 22:07:58,379 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:07:58,380 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:07:58,381 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:07:58,386 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:07:58,387 INFO L82 PathProgramCache]: Analyzing trace with hash -629617454, now seen corresponding path program 1 times [2020-07-17 22:07:58,399 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:07:58,399 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [504157481] [2020-07-17 22:07:58,400 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:07:58,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:58,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:58,620 INFO L280 TraceCheckUtils]: 0: Hoare triple {46#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {32#true} is VALID [2020-07-17 22:07:58,620 INFO L280 TraceCheckUtils]: 1: Hoare triple {32#true} assume true; {32#true} is VALID [2020-07-17 22:07:58,621 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {32#true} {32#true} #44#return; {32#true} is VALID [2020-07-17 22:07:58,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:58,681 INFO L280 TraceCheckUtils]: 0: Hoare triple {46#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {47#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:07:58,683 INFO L280 TraceCheckUtils]: 1: Hoare triple {47#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {48#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:07:58,683 INFO L280 TraceCheckUtils]: 2: Hoare triple {48#(= 0 |applyHanoi_#in~n|)} assume true; {48#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:07:58,686 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {48#(= 0 |applyHanoi_#in~n|)} {37#(<= 1 main_~n~0)} #48#return; {33#false} is VALID [2020-07-17 22:07:58,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:58,696 INFO L280 TraceCheckUtils]: 0: Hoare triple {32#true} ~n := #in~n; {32#true} is VALID [2020-07-17 22:07:58,696 INFO L280 TraceCheckUtils]: 1: Hoare triple {32#true} assume 1 == ~n;#res := 1; {32#true} is VALID [2020-07-17 22:07:58,697 INFO L280 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2020-07-17 22:07:58,697 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {32#true} {33#false} #50#return; {33#false} is VALID [2020-07-17 22:07:58,698 INFO L263 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {46#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:58,699 INFO L280 TraceCheckUtils]: 1: Hoare triple {46#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {32#true} is VALID [2020-07-17 22:07:58,699 INFO L280 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2020-07-17 22:07:58,700 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #44#return; {32#true} is VALID [2020-07-17 22:07:58,700 INFO L263 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret4 := main(); {32#true} is VALID [2020-07-17 22:07:58,700 INFO L280 TraceCheckUtils]: 5: Hoare triple {32#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {32#true} is VALID [2020-07-17 22:07:58,702 INFO L280 TraceCheckUtils]: 6: Hoare triple {32#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {37#(<= 1 main_~n~0)} is VALID [2020-07-17 22:07:58,705 INFO L263 TraceCheckUtils]: 7: Hoare triple {37#(<= 1 main_~n~0)} call applyHanoi(~n~0, 1, 3, 2); {46#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:58,707 INFO L280 TraceCheckUtils]: 8: Hoare triple {46#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {47#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:07:58,709 INFO L280 TraceCheckUtils]: 9: Hoare triple {47#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {48#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:07:58,710 INFO L280 TraceCheckUtils]: 10: Hoare triple {48#(= 0 |applyHanoi_#in~n|)} assume true; {48#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:07:58,712 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {48#(= 0 |applyHanoi_#in~n|)} {37#(<= 1 main_~n~0)} #48#return; {33#false} is VALID [2020-07-17 22:07:58,713 INFO L263 TraceCheckUtils]: 12: Hoare triple {33#false} call #t~ret3 := hanoi(~n~0); {32#true} is VALID [2020-07-17 22:07:58,713 INFO L280 TraceCheckUtils]: 13: Hoare triple {32#true} ~n := #in~n; {32#true} is VALID [2020-07-17 22:07:58,714 INFO L280 TraceCheckUtils]: 14: Hoare triple {32#true} assume 1 == ~n;#res := 1; {32#true} is VALID [2020-07-17 22:07:58,714 INFO L280 TraceCheckUtils]: 15: Hoare triple {32#true} assume true; {32#true} is VALID [2020-07-17 22:07:58,714 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {32#true} {33#false} #50#return; {33#false} is VALID [2020-07-17 22:07:58,715 INFO L280 TraceCheckUtils]: 17: Hoare triple {33#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {33#false} is VALID [2020-07-17 22:07:58,715 INFO L280 TraceCheckUtils]: 18: Hoare triple {33#false} assume !(~result~0 == ~counter~0); {33#false} is VALID [2020-07-17 22:07:58,716 INFO L280 TraceCheckUtils]: 19: Hoare triple {33#false} assume !false; {33#false} is VALID [2020-07-17 22:07:58,719 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:07:58,720 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [504157481] [2020-07-17 22:07:58,721 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:07:58,722 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:07:58,722 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2090889440] [2020-07-17 22:07:58,728 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2020-07-17 22:07:58,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:07:58,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:07:58,780 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:07:58,780 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:07:58,781 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:07:58,790 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:07:58,791 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:07:58,793 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 6 states. [2020-07-17 22:07:59,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:07:59,238 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2020-07-17 22:07:59,238 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:07:59,238 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2020-07-17 22:07:59,239 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:07:59,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:07:59,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2020-07-17 22:07:59,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:07:59,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2020-07-17 22:07:59,257 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 58 transitions. [2020-07-17 22:07:59,345 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:07:59,358 INFO L225 Difference]: With dead ends: 48 [2020-07-17 22:07:59,359 INFO L226 Difference]: Without dead ends: 27 [2020-07-17 22:07:59,363 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:07:59,391 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2020-07-17 22:07:59,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2020-07-17 22:07:59,422 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:07:59,423 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2020-07-17 22:07:59,424 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-17 22:07:59,424 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-17 22:07:59,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:07:59,435 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2020-07-17 22:07:59,435 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2020-07-17 22:07:59,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:07:59,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:07:59,438 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-17 22:07:59,439 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-17 22:07:59,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:07:59,452 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2020-07-17 22:07:59,452 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2020-07-17 22:07:59,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:07:59,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:07:59,460 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:07:59,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:07:59,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2020-07-17 22:07:59,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 32 transitions. [2020-07-17 22:07:59,473 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 32 transitions. Word has length 20 [2020-07-17 22:07:59,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:07:59,474 INFO L479 AbstractCegarLoop]: Abstraction has 27 states and 32 transitions. [2020-07-17 22:07:59,474 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:07:59,474 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2020-07-17 22:07:59,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2020-07-17 22:07:59,476 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:07:59,476 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-17 22:07:59,477 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:07:59,477 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:07:59,479 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:07:59,479 INFO L82 PathProgramCache]: Analyzing trace with hash 223523063, now seen corresponding path program 1 times [2020-07-17 22:07:59,480 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:07:59,485 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1080140517] [2020-07-17 22:07:59,486 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:07:59,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:59,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:59,689 INFO L280 TraceCheckUtils]: 0: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {209#true} is VALID [2020-07-17 22:07:59,689 INFO L280 TraceCheckUtils]: 1: Hoare triple {209#true} assume true; {209#true} is VALID [2020-07-17 22:07:59,690 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {209#true} {209#true} #44#return; {209#true} is VALID [2020-07-17 22:07:59,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:59,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:59,865 INFO L280 TraceCheckUtils]: 0: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,866 INFO L280 TraceCheckUtils]: 1: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,867 INFO L280 TraceCheckUtils]: 2: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,869 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:07:59,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:59,885 INFO L280 TraceCheckUtils]: 0: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,886 INFO L280 TraceCheckUtils]: 1: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,887 INFO L280 TraceCheckUtils]: 2: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,889 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} is VALID [2020-07-17 22:07:59,889 INFO L280 TraceCheckUtils]: 0: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,890 INFO L280 TraceCheckUtils]: 1: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:07:59,892 INFO L263 TraceCheckUtils]: 2: Hoare triple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,893 INFO L280 TraceCheckUtils]: 3: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,893 INFO L280 TraceCheckUtils]: 4: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,894 INFO L280 TraceCheckUtils]: 5: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,896 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:07:59,897 INFO L263 TraceCheckUtils]: 7: Hoare triple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,898 INFO L280 TraceCheckUtils]: 8: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,899 INFO L280 TraceCheckUtils]: 9: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,900 INFO L280 TraceCheckUtils]: 10: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,902 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} is VALID [2020-07-17 22:07:59,903 INFO L280 TraceCheckUtils]: 12: Hoare triple {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} assume true; {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} is VALID [2020-07-17 22:07:59,905 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} {214#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {229#(= ~counter~0 1)} is VALID [2020-07-17 22:07:59,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:07:59,928 INFO L280 TraceCheckUtils]: 0: Hoare triple {209#true} ~n := #in~n; {209#true} is VALID [2020-07-17 22:07:59,929 INFO L280 TraceCheckUtils]: 1: Hoare triple {209#true} assume 1 == ~n;#res := 1; {247#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:07:59,929 INFO L280 TraceCheckUtils]: 2: Hoare triple {247#(= 1 |hanoi_#res|)} assume true; {247#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:07:59,930 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {247#(= 1 |hanoi_#res|)} {229#(= ~counter~0 1)} #50#return; {234#(= ~counter~0 |main_#t~ret3|)} is VALID [2020-07-17 22:07:59,931 INFO L263 TraceCheckUtils]: 0: Hoare triple {209#true} call ULTIMATE.init(); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,932 INFO L280 TraceCheckUtils]: 1: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {209#true} is VALID [2020-07-17 22:07:59,932 INFO L280 TraceCheckUtils]: 2: Hoare triple {209#true} assume true; {209#true} is VALID [2020-07-17 22:07:59,932 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {209#true} {209#true} #44#return; {209#true} is VALID [2020-07-17 22:07:59,933 INFO L263 TraceCheckUtils]: 4: Hoare triple {209#true} call #t~ret4 := main(); {209#true} is VALID [2020-07-17 22:07:59,933 INFO L280 TraceCheckUtils]: 5: Hoare triple {209#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {209#true} is VALID [2020-07-17 22:07:59,934 INFO L280 TraceCheckUtils]: 6: Hoare triple {209#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {214#(and (<= 0 ~counter~0) (<= ~counter~0 0))} is VALID [2020-07-17 22:07:59,935 INFO L263 TraceCheckUtils]: 7: Hoare triple {214#(and (<= 0 ~counter~0) (<= ~counter~0 0))} call applyHanoi(~n~0, 1, 3, 2); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,936 INFO L280 TraceCheckUtils]: 8: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,937 INFO L280 TraceCheckUtils]: 9: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:07:59,938 INFO L263 TraceCheckUtils]: 10: Hoare triple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,939 INFO L280 TraceCheckUtils]: 11: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,940 INFO L280 TraceCheckUtils]: 12: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,940 INFO L280 TraceCheckUtils]: 13: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,942 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:07:59,944 INFO L263 TraceCheckUtils]: 15: Hoare triple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,944 INFO L280 TraceCheckUtils]: 16: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,945 INFO L280 TraceCheckUtils]: 17: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,946 INFO L280 TraceCheckUtils]: 18: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:07:59,947 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} is VALID [2020-07-17 22:07:59,948 INFO L280 TraceCheckUtils]: 20: Hoare triple {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} assume true; {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} is VALID [2020-07-17 22:07:59,950 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {246#(and (or (< 0 ~counter~0) (<= (+ |old(~counter~0)| 1) ~counter~0)) (or (<= ~counter~0 1) (<= ~counter~0 (+ |old(~counter~0)| 1))))} {214#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {229#(= ~counter~0 1)} is VALID [2020-07-17 22:07:59,950 INFO L263 TraceCheckUtils]: 22: Hoare triple {229#(= ~counter~0 1)} call #t~ret3 := hanoi(~n~0); {209#true} is VALID [2020-07-17 22:07:59,951 INFO L280 TraceCheckUtils]: 23: Hoare triple {209#true} ~n := #in~n; {209#true} is VALID [2020-07-17 22:07:59,952 INFO L280 TraceCheckUtils]: 24: Hoare triple {209#true} assume 1 == ~n;#res := 1; {247#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:07:59,952 INFO L280 TraceCheckUtils]: 25: Hoare triple {247#(= 1 |hanoi_#res|)} assume true; {247#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:07:59,954 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {247#(= 1 |hanoi_#res|)} {229#(= ~counter~0 1)} #50#return; {234#(= ~counter~0 |main_#t~ret3|)} is VALID [2020-07-17 22:07:59,954 INFO L280 TraceCheckUtils]: 27: Hoare triple {234#(= ~counter~0 |main_#t~ret3|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {235#(= ~counter~0 main_~result~0)} is VALID [2020-07-17 22:07:59,955 INFO L280 TraceCheckUtils]: 28: Hoare triple {235#(= ~counter~0 main_~result~0)} assume !(~result~0 == ~counter~0); {210#false} is VALID [2020-07-17 22:07:59,955 INFO L280 TraceCheckUtils]: 29: Hoare triple {210#false} assume !false; {210#false} is VALID [2020-07-17 22:07:59,958 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2020-07-17 22:07:59,959 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1080140517] [2020-07-17 22:07:59,959 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [285236750] [2020-07-17 22:07:59,959 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:00,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:00,009 INFO L264 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-17 22:08:00,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:00,031 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:00,272 INFO L263 TraceCheckUtils]: 0: Hoare triple {209#true} call ULTIMATE.init(); {209#true} is VALID [2020-07-17 22:08:00,273 INFO L280 TraceCheckUtils]: 1: Hoare triple {209#true} ~counter~0 := 0; {209#true} is VALID [2020-07-17 22:08:00,273 INFO L280 TraceCheckUtils]: 2: Hoare triple {209#true} assume true; {209#true} is VALID [2020-07-17 22:08:00,274 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {209#true} {209#true} #44#return; {209#true} is VALID [2020-07-17 22:08:00,274 INFO L263 TraceCheckUtils]: 4: Hoare triple {209#true} call #t~ret4 := main(); {209#true} is VALID [2020-07-17 22:08:00,275 INFO L280 TraceCheckUtils]: 5: Hoare triple {209#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {209#true} is VALID [2020-07-17 22:08:00,276 INFO L280 TraceCheckUtils]: 6: Hoare triple {209#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {214#(and (<= 0 ~counter~0) (<= ~counter~0 0))} is VALID [2020-07-17 22:08:00,278 INFO L263 TraceCheckUtils]: 7: Hoare triple {214#(and (<= 0 ~counter~0) (<= ~counter~0 0))} call applyHanoi(~n~0, 1, 3, 2); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,279 INFO L280 TraceCheckUtils]: 8: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,280 INFO L280 TraceCheckUtils]: 9: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:00,283 INFO L263 TraceCheckUtils]: 10: Hoare triple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,284 INFO L280 TraceCheckUtils]: 11: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,285 INFO L280 TraceCheckUtils]: 12: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,285 INFO L280 TraceCheckUtils]: 13: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,288 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:00,290 INFO L263 TraceCheckUtils]: 15: Hoare triple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,292 INFO L280 TraceCheckUtils]: 16: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,293 INFO L280 TraceCheckUtils]: 17: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,293 INFO L280 TraceCheckUtils]: 18: Hoare triple {236#(= ~counter~0 |old(~counter~0)|)} assume true; {236#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:00,296 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {236#(= ~counter~0 |old(~counter~0)|)} {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:00,297 INFO L280 TraceCheckUtils]: 20: Hoare triple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:00,299 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {237#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {214#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {229#(= ~counter~0 1)} is VALID [2020-07-17 22:08:00,301 INFO L263 TraceCheckUtils]: 22: Hoare triple {229#(= ~counter~0 1)} call #t~ret3 := hanoi(~n~0); {229#(= ~counter~0 1)} is VALID [2020-07-17 22:08:00,301 INFO L280 TraceCheckUtils]: 23: Hoare triple {229#(= ~counter~0 1)} ~n := #in~n; {229#(= ~counter~0 1)} is VALID [2020-07-17 22:08:00,302 INFO L280 TraceCheckUtils]: 24: Hoare triple {229#(= ~counter~0 1)} assume 1 == ~n;#res := 1; {323#(and (= 1 |hanoi_#res|) (= ~counter~0 1))} is VALID [2020-07-17 22:08:00,303 INFO L280 TraceCheckUtils]: 25: Hoare triple {323#(and (= 1 |hanoi_#res|) (= ~counter~0 1))} assume true; {323#(and (= 1 |hanoi_#res|) (= ~counter~0 1))} is VALID [2020-07-17 22:08:00,305 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {323#(and (= 1 |hanoi_#res|) (= ~counter~0 1))} {229#(= ~counter~0 1)} #50#return; {330#(and (= 1 |main_#t~ret3|) (= ~counter~0 1))} is VALID [2020-07-17 22:08:00,306 INFO L280 TraceCheckUtils]: 27: Hoare triple {330#(and (= 1 |main_#t~ret3|) (= ~counter~0 1))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {334#(and (= 1 main_~result~0) (= ~counter~0 1))} is VALID [2020-07-17 22:08:00,307 INFO L280 TraceCheckUtils]: 28: Hoare triple {334#(and (= 1 main_~result~0) (= ~counter~0 1))} assume !(~result~0 == ~counter~0); {210#false} is VALID [2020-07-17 22:08:00,308 INFO L280 TraceCheckUtils]: 29: Hoare triple {210#false} assume !false; {210#false} is VALID [2020-07-17 22:08:00,321 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2020-07-17 22:08:00,322 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:00,322 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 13 [2020-07-17 22:08:00,323 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [98799186] [2020-07-17 22:08:00,324 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 30 [2020-07-17 22:08:00,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:08:00,325 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-17 22:08:00,385 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:00,385 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-17 22:08:00,386 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:08:00,386 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-17 22:08:00,386 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2020-07-17 22:08:00,387 INFO L87 Difference]: Start difference. First operand 27 states and 32 transitions. Second operand 13 states. [2020-07-17 22:08:01,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:01,636 INFO L93 Difference]: Finished difference Result 61 states and 78 transitions. [2020-07-17 22:08:01,636 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-17 22:08:01,637 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 30 [2020-07-17 22:08:01,637 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:08:01,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:08:01,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2020-07-17 22:08:01,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:08:01,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2020-07-17 22:08:01,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 78 transitions. [2020-07-17 22:08:01,776 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:01,781 INFO L225 Difference]: With dead ends: 61 [2020-07-17 22:08:01,781 INFO L226 Difference]: Without dead ends: 55 [2020-07-17 22:08:01,783 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=77, Invalid=303, Unknown=0, NotChecked=0, Total=380 [2020-07-17 22:08:01,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2020-07-17 22:08:01,828 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 49. [2020-07-17 22:08:01,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:08:01,828 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 49 states. [2020-07-17 22:08:01,828 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 49 states. [2020-07-17 22:08:01,829 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 49 states. [2020-07-17 22:08:01,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:01,836 INFO L93 Difference]: Finished difference Result 55 states and 72 transitions. [2020-07-17 22:08:01,836 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 72 transitions. [2020-07-17 22:08:01,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:01,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:01,838 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 55 states. [2020-07-17 22:08:01,838 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 55 states. [2020-07-17 22:08:01,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:01,845 INFO L93 Difference]: Finished difference Result 55 states and 72 transitions. [2020-07-17 22:08:01,846 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 72 transitions. [2020-07-17 22:08:01,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:01,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:01,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:08:01,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:08:01,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2020-07-17 22:08:01,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 66 transitions. [2020-07-17 22:08:01,854 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 66 transitions. Word has length 30 [2020-07-17 22:08:01,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:08:01,854 INFO L479 AbstractCegarLoop]: Abstraction has 49 states and 66 transitions. [2020-07-17 22:08:01,854 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-17 22:08:01,854 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 66 transitions. [2020-07-17 22:08:01,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-17 22:08:01,857 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:08:01,857 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:08:02,073 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-17 22:08:02,073 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:08:02,074 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:08:02,074 INFO L82 PathProgramCache]: Analyzing trace with hash 640231516, now seen corresponding path program 2 times [2020-07-17 22:08:02,075 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:08:02,076 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [662372229] [2020-07-17 22:08:02,076 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:08:02,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,198 INFO L280 TraceCheckUtils]: 0: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {614#true} is VALID [2020-07-17 22:08:02,199 INFO L280 TraceCheckUtils]: 1: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,199 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {614#true} {614#true} #44#return; {614#true} is VALID [2020-07-17 22:08:02,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,297 INFO L280 TraceCheckUtils]: 0: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,298 INFO L280 TraceCheckUtils]: 1: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,299 INFO L280 TraceCheckUtils]: 2: Hoare triple {668#(= 0 |applyHanoi_#in~n|)} assume true; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,300 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {668#(= 0 |applyHanoi_#in~n|)} {614#true} #38#return; {652#(<= applyHanoi_~n 1)} is VALID [2020-07-17 22:08:02,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,387 INFO L280 TraceCheckUtils]: 0: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,394 INFO L280 TraceCheckUtils]: 1: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,395 INFO L280 TraceCheckUtils]: 2: Hoare triple {668#(= 0 |applyHanoi_#in~n|)} assume true; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,397 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {668#(= 0 |applyHanoi_#in~n|)} {667#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,414 INFO L280 TraceCheckUtils]: 0: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,415 INFO L280 TraceCheckUtils]: 1: Hoare triple {614#true} assume 0 == ~n; {614#true} is VALID [2020-07-17 22:08:02,415 INFO L280 TraceCheckUtils]: 2: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,416 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {614#true} {673#(<= 1 |applyHanoi_#in~n|)} #40#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,417 INFO L280 TraceCheckUtils]: 0: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,418 INFO L280 TraceCheckUtils]: 1: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,419 INFO L263 TraceCheckUtils]: 2: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,420 INFO L280 TraceCheckUtils]: 3: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,421 INFO L280 TraceCheckUtils]: 4: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,421 INFO L280 TraceCheckUtils]: 5: Hoare triple {668#(= 0 |applyHanoi_#in~n|)} assume true; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,436 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {668#(= 0 |applyHanoi_#in~n|)} {667#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,438 INFO L263 TraceCheckUtils]: 7: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,438 INFO L280 TraceCheckUtils]: 8: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,439 INFO L280 TraceCheckUtils]: 9: Hoare triple {614#true} assume 0 == ~n; {614#true} is VALID [2020-07-17 22:08:02,439 INFO L280 TraceCheckUtils]: 10: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,440 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {614#true} {673#(<= 1 |applyHanoi_#in~n|)} #40#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,441 INFO L280 TraceCheckUtils]: 12: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} assume true; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,442 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {673#(<= 1 |applyHanoi_#in~n|)} {652#(<= applyHanoi_~n 1)} #40#return; {615#false} is VALID [2020-07-17 22:08:02,443 INFO L280 TraceCheckUtils]: 0: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,443 INFO L280 TraceCheckUtils]: 1: Hoare triple {614#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {614#true} is VALID [2020-07-17 22:08:02,447 INFO L263 TraceCheckUtils]: 2: Hoare triple {614#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,448 INFO L280 TraceCheckUtils]: 3: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,449 INFO L280 TraceCheckUtils]: 4: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,449 INFO L280 TraceCheckUtils]: 5: Hoare triple {668#(= 0 |applyHanoi_#in~n|)} assume true; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,451 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {668#(= 0 |applyHanoi_#in~n|)} {614#true} #38#return; {652#(<= applyHanoi_~n 1)} is VALID [2020-07-17 22:08:02,452 INFO L263 TraceCheckUtils]: 7: Hoare triple {652#(<= applyHanoi_~n 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,453 INFO L280 TraceCheckUtils]: 8: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,453 INFO L280 TraceCheckUtils]: 9: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,455 INFO L263 TraceCheckUtils]: 10: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,455 INFO L280 TraceCheckUtils]: 11: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,456 INFO L280 TraceCheckUtils]: 12: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,456 INFO L280 TraceCheckUtils]: 13: Hoare triple {668#(= 0 |applyHanoi_#in~n|)} assume true; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,459 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {668#(= 0 |applyHanoi_#in~n|)} {667#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,461 INFO L263 TraceCheckUtils]: 15: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,461 INFO L280 TraceCheckUtils]: 16: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,461 INFO L280 TraceCheckUtils]: 17: Hoare triple {614#true} assume 0 == ~n; {614#true} is VALID [2020-07-17 22:08:02,462 INFO L280 TraceCheckUtils]: 18: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,463 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {614#true} {673#(<= 1 |applyHanoi_#in~n|)} #40#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,464 INFO L280 TraceCheckUtils]: 20: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} assume true; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,465 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {673#(<= 1 |applyHanoi_#in~n|)} {652#(<= applyHanoi_~n 1)} #40#return; {615#false} is VALID [2020-07-17 22:08:02,465 INFO L280 TraceCheckUtils]: 22: Hoare triple {615#false} assume true; {615#false} is VALID [2020-07-17 22:08:02,466 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {615#false} {614#true} #48#return; {615#false} is VALID [2020-07-17 22:08:02,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,477 INFO L280 TraceCheckUtils]: 0: Hoare triple {614#true} ~n := #in~n; {614#true} is VALID [2020-07-17 22:08:02,477 INFO L280 TraceCheckUtils]: 1: Hoare triple {614#true} assume 1 == ~n;#res := 1; {614#true} is VALID [2020-07-17 22:08:02,477 INFO L280 TraceCheckUtils]: 2: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,478 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {614#true} {615#false} #50#return; {615#false} is VALID [2020-07-17 22:08:02,478 INFO L263 TraceCheckUtils]: 0: Hoare triple {614#true} call ULTIMATE.init(); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,479 INFO L280 TraceCheckUtils]: 1: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {614#true} is VALID [2020-07-17 22:08:02,479 INFO L280 TraceCheckUtils]: 2: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,479 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {614#true} {614#true} #44#return; {614#true} is VALID [2020-07-17 22:08:02,479 INFO L263 TraceCheckUtils]: 4: Hoare triple {614#true} call #t~ret4 := main(); {614#true} is VALID [2020-07-17 22:08:02,480 INFO L280 TraceCheckUtils]: 5: Hoare triple {614#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {614#true} is VALID [2020-07-17 22:08:02,480 INFO L280 TraceCheckUtils]: 6: Hoare triple {614#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {614#true} is VALID [2020-07-17 22:08:02,481 INFO L263 TraceCheckUtils]: 7: Hoare triple {614#true} call applyHanoi(~n~0, 1, 3, 2); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,482 INFO L280 TraceCheckUtils]: 8: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,482 INFO L280 TraceCheckUtils]: 9: Hoare triple {614#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {614#true} is VALID [2020-07-17 22:08:02,483 INFO L263 TraceCheckUtils]: 10: Hoare triple {614#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,484 INFO L280 TraceCheckUtils]: 11: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,485 INFO L280 TraceCheckUtils]: 12: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,485 INFO L280 TraceCheckUtils]: 13: Hoare triple {668#(= 0 |applyHanoi_#in~n|)} assume true; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,496 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {668#(= 0 |applyHanoi_#in~n|)} {614#true} #38#return; {652#(<= applyHanoi_~n 1)} is VALID [2020-07-17 22:08:02,499 INFO L263 TraceCheckUtils]: 15: Hoare triple {652#(<= applyHanoi_~n 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,500 INFO L280 TraceCheckUtils]: 16: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,501 INFO L280 TraceCheckUtils]: 17: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,502 INFO L263 TraceCheckUtils]: 18: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,502 INFO L280 TraceCheckUtils]: 19: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {667#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,503 INFO L280 TraceCheckUtils]: 20: Hoare triple {667#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,507 INFO L280 TraceCheckUtils]: 21: Hoare triple {668#(= 0 |applyHanoi_#in~n|)} assume true; {668#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,508 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {668#(= 0 |applyHanoi_#in~n|)} {667#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,511 INFO L263 TraceCheckUtils]: 23: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {647#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:02,511 INFO L280 TraceCheckUtils]: 24: Hoare triple {647#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,511 INFO L280 TraceCheckUtils]: 25: Hoare triple {614#true} assume 0 == ~n; {614#true} is VALID [2020-07-17 22:08:02,512 INFO L280 TraceCheckUtils]: 26: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,513 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {614#true} {673#(<= 1 |applyHanoi_#in~n|)} #40#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,514 INFO L280 TraceCheckUtils]: 28: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} assume true; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,515 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {673#(<= 1 |applyHanoi_#in~n|)} {652#(<= applyHanoi_~n 1)} #40#return; {615#false} is VALID [2020-07-17 22:08:02,515 INFO L280 TraceCheckUtils]: 30: Hoare triple {615#false} assume true; {615#false} is VALID [2020-07-17 22:08:02,515 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {615#false} {614#true} #48#return; {615#false} is VALID [2020-07-17 22:08:02,515 INFO L263 TraceCheckUtils]: 32: Hoare triple {615#false} call #t~ret3 := hanoi(~n~0); {614#true} is VALID [2020-07-17 22:08:02,516 INFO L280 TraceCheckUtils]: 33: Hoare triple {614#true} ~n := #in~n; {614#true} is VALID [2020-07-17 22:08:02,516 INFO L280 TraceCheckUtils]: 34: Hoare triple {614#true} assume 1 == ~n;#res := 1; {614#true} is VALID [2020-07-17 22:08:02,516 INFO L280 TraceCheckUtils]: 35: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,516 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {614#true} {615#false} #50#return; {615#false} is VALID [2020-07-17 22:08:02,517 INFO L280 TraceCheckUtils]: 37: Hoare triple {615#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {615#false} is VALID [2020-07-17 22:08:02,517 INFO L280 TraceCheckUtils]: 38: Hoare triple {615#false} assume !(~result~0 == ~counter~0); {615#false} is VALID [2020-07-17 22:08:02,517 INFO L280 TraceCheckUtils]: 39: Hoare triple {615#false} assume !false; {615#false} is VALID [2020-07-17 22:08:02,519 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2020-07-17 22:08:02,520 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [662372229] [2020-07-17 22:08:02,520 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1365511906] [2020-07-17 22:08:02,520 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:02,588 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:08:02,588 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:08:02,589 INFO L264 TraceCheckSpWp]: Trace formula consists of 165 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-17 22:08:02,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:02,603 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:02,792 INFO L263 TraceCheckUtils]: 0: Hoare triple {614#true} call ULTIMATE.init(); {614#true} is VALID [2020-07-17 22:08:02,792 INFO L280 TraceCheckUtils]: 1: Hoare triple {614#true} ~counter~0 := 0; {614#true} is VALID [2020-07-17 22:08:02,793 INFO L280 TraceCheckUtils]: 2: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,793 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {614#true} {614#true} #44#return; {614#true} is VALID [2020-07-17 22:08:02,793 INFO L263 TraceCheckUtils]: 4: Hoare triple {614#true} call #t~ret4 := main(); {614#true} is VALID [2020-07-17 22:08:02,793 INFO L280 TraceCheckUtils]: 5: Hoare triple {614#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {614#true} is VALID [2020-07-17 22:08:02,794 INFO L280 TraceCheckUtils]: 6: Hoare triple {614#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {614#true} is VALID [2020-07-17 22:08:02,794 INFO L263 TraceCheckUtils]: 7: Hoare triple {614#true} call applyHanoi(~n~0, 1, 3, 2); {614#true} is VALID [2020-07-17 22:08:02,795 INFO L280 TraceCheckUtils]: 8: Hoare triple {614#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,796 INFO L280 TraceCheckUtils]: 9: Hoare triple {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,796 INFO L263 TraceCheckUtils]: 10: Hoare triple {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {614#true} is VALID [2020-07-17 22:08:02,796 INFO L280 TraceCheckUtils]: 11: Hoare triple {614#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,796 INFO L280 TraceCheckUtils]: 12: Hoare triple {614#true} assume 0 == ~n; {614#true} is VALID [2020-07-17 22:08:02,797 INFO L280 TraceCheckUtils]: 13: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,799 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {614#true} {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,800 INFO L263 TraceCheckUtils]: 15: Hoare triple {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {614#true} is VALID [2020-07-17 22:08:02,800 INFO L280 TraceCheckUtils]: 16: Hoare triple {614#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,801 INFO L280 TraceCheckUtils]: 17: Hoare triple {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,801 INFO L263 TraceCheckUtils]: 18: Hoare triple {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {614#true} is VALID [2020-07-17 22:08:02,802 INFO L280 TraceCheckUtils]: 19: Hoare triple {614#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,803 INFO L280 TraceCheckUtils]: 20: Hoare triple {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {742#(<= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,803 INFO L280 TraceCheckUtils]: 21: Hoare triple {742#(<= 0 |applyHanoi_#in~n|)} assume true; {742#(<= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,805 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {742#(<= 0 |applyHanoi_#in~n|)} {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,806 INFO L263 TraceCheckUtils]: 23: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {614#true} is VALID [2020-07-17 22:08:02,806 INFO L280 TraceCheckUtils]: 24: Hoare triple {614#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {614#true} is VALID [2020-07-17 22:08:02,806 INFO L280 TraceCheckUtils]: 25: Hoare triple {614#true} assume 0 == ~n; {614#true} is VALID [2020-07-17 22:08:02,806 INFO L280 TraceCheckUtils]: 26: Hoare triple {614#true} assume true; {614#true} is VALID [2020-07-17 22:08:02,808 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {614#true} {673#(<= 1 |applyHanoi_#in~n|)} #40#return; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,808 INFO L280 TraceCheckUtils]: 28: Hoare triple {673#(<= 1 |applyHanoi_#in~n|)} assume true; {673#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,810 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {673#(<= 1 |applyHanoi_#in~n|)} {705#(<= applyHanoi_~n |applyHanoi_#in~n|)} #40#return; {770#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,811 INFO L280 TraceCheckUtils]: 30: Hoare triple {770#(<= 2 |applyHanoi_#in~n|)} assume true; {770#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:02,812 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {770#(<= 2 |applyHanoi_#in~n|)} {614#true} #48#return; {777#(<= 2 main_~n~0)} is VALID [2020-07-17 22:08:02,813 INFO L263 TraceCheckUtils]: 32: Hoare triple {777#(<= 2 main_~n~0)} call #t~ret3 := hanoi(~n~0); {614#true} is VALID [2020-07-17 22:08:02,814 INFO L280 TraceCheckUtils]: 33: Hoare triple {614#true} ~n := #in~n; {784#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:02,816 INFO L280 TraceCheckUtils]: 34: Hoare triple {784#(<= |hanoi_#in~n| hanoi_~n)} assume 1 == ~n;#res := 1; {788#(<= |hanoi_#in~n| 1)} is VALID [2020-07-17 22:08:02,817 INFO L280 TraceCheckUtils]: 35: Hoare triple {788#(<= |hanoi_#in~n| 1)} assume true; {788#(<= |hanoi_#in~n| 1)} is VALID [2020-07-17 22:08:02,820 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {788#(<= |hanoi_#in~n| 1)} {777#(<= 2 main_~n~0)} #50#return; {615#false} is VALID [2020-07-17 22:08:02,821 INFO L280 TraceCheckUtils]: 37: Hoare triple {615#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {615#false} is VALID [2020-07-17 22:08:02,821 INFO L280 TraceCheckUtils]: 38: Hoare triple {615#false} assume !(~result~0 == ~counter~0); {615#false} is VALID [2020-07-17 22:08:02,821 INFO L280 TraceCheckUtils]: 39: Hoare triple {615#false} assume !false; {615#false} is VALID [2020-07-17 22:08:02,825 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 18 proven. 7 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2020-07-17 22:08:02,826 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:02,826 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 9] total 13 [2020-07-17 22:08:02,827 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [389918668] [2020-07-17 22:08:02,828 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 40 [2020-07-17 22:08:02,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:08:02,839 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-17 22:08:02,915 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:02,915 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-17 22:08:02,916 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:08:02,916 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-17 22:08:02,916 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=128, Unknown=0, NotChecked=0, Total=156 [2020-07-17 22:08:02,916 INFO L87 Difference]: Start difference. First operand 49 states and 66 transitions. Second operand 13 states. [2020-07-17 22:08:04,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:04,155 INFO L93 Difference]: Finished difference Result 86 states and 123 transitions. [2020-07-17 22:08:04,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-17 22:08:04,155 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 40 [2020-07-17 22:08:04,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:08:04,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:08:04,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 83 transitions. [2020-07-17 22:08:04,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:08:04,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 83 transitions. [2020-07-17 22:08:04,177 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 83 transitions. [2020-07-17 22:08:04,305 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:04,309 INFO L225 Difference]: With dead ends: 86 [2020-07-17 22:08:04,309 INFO L226 Difference]: Without dead ends: 64 [2020-07-17 22:08:04,311 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=113, Invalid=487, Unknown=0, NotChecked=0, Total=600 [2020-07-17 22:08:04,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2020-07-17 22:08:04,354 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 48. [2020-07-17 22:08:04,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:08:04,355 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 48 states. [2020-07-17 22:08:04,355 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 48 states. [2020-07-17 22:08:04,355 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 48 states. [2020-07-17 22:08:04,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:04,367 INFO L93 Difference]: Finished difference Result 64 states and 79 transitions. [2020-07-17 22:08:04,367 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 79 transitions. [2020-07-17 22:08:04,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:04,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:04,369 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 64 states. [2020-07-17 22:08:04,369 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 64 states. [2020-07-17 22:08:04,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:04,382 INFO L93 Difference]: Finished difference Result 64 states and 79 transitions. [2020-07-17 22:08:04,382 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 79 transitions. [2020-07-17 22:08:04,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:04,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:04,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:08:04,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:08:04,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2020-07-17 22:08:04,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2020-07-17 22:08:04,389 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 40 [2020-07-17 22:08:04,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:08:04,390 INFO L479 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2020-07-17 22:08:04,390 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-17 22:08:04,390 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2020-07-17 22:08:04,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-17 22:08:04,395 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:08:04,396 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 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] [2020-07-17 22:08:04,612 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:04,614 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:08:04,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:08:04,614 INFO L82 PathProgramCache]: Analyzing trace with hash 1772916587, now seen corresponding path program 1 times [2020-07-17 22:08:04,615 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:08:04,616 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1279558134] [2020-07-17 22:08:04,616 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:08:04,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,677 INFO L280 TraceCheckUtils]: 0: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {1142#true} is VALID [2020-07-17 22:08:04,678 INFO L280 TraceCheckUtils]: 1: Hoare triple {1142#true} assume true; {1142#true} is VALID [2020-07-17 22:08:04,678 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1142#true} {1142#true} #44#return; {1142#true} is VALID [2020-07-17 22:08:04,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,788 INFO L280 TraceCheckUtils]: 0: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,789 INFO L280 TraceCheckUtils]: 1: Hoare triple {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {1183#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,790 INFO L280 TraceCheckUtils]: 2: Hoare triple {1183#(= 0 |applyHanoi_#in~n|)} assume true; {1183#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,791 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1183#(= 0 |applyHanoi_#in~n|)} {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,799 INFO L280 TraceCheckUtils]: 0: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1142#true} is VALID [2020-07-17 22:08:04,799 INFO L280 TraceCheckUtils]: 1: Hoare triple {1142#true} assume 0 == ~n; {1142#true} is VALID [2020-07-17 22:08:04,799 INFO L280 TraceCheckUtils]: 2: Hoare triple {1142#true} assume true; {1142#true} is VALID [2020-07-17 22:08:04,800 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1142#true} {1178#(<= |applyHanoi_#in~n| 1)} #40#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,801 INFO L280 TraceCheckUtils]: 0: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,802 INFO L280 TraceCheckUtils]: 1: Hoare triple {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,803 INFO L263 TraceCheckUtils]: 2: Hoare triple {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {1172#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:04,804 INFO L280 TraceCheckUtils]: 3: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,805 INFO L280 TraceCheckUtils]: 4: Hoare triple {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {1183#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,805 INFO L280 TraceCheckUtils]: 5: Hoare triple {1183#(= 0 |applyHanoi_#in~n|)} assume true; {1183#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,815 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1183#(= 0 |applyHanoi_#in~n|)} {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,818 INFO L263 TraceCheckUtils]: 7: Hoare triple {1178#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {1172#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:04,819 INFO L280 TraceCheckUtils]: 8: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1142#true} is VALID [2020-07-17 22:08:04,819 INFO L280 TraceCheckUtils]: 9: Hoare triple {1142#true} assume 0 == ~n; {1142#true} is VALID [2020-07-17 22:08:04,819 INFO L280 TraceCheckUtils]: 10: Hoare triple {1142#true} assume true; {1142#true} is VALID [2020-07-17 22:08:04,821 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {1142#true} {1178#(<= |applyHanoi_#in~n| 1)} #40#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,821 INFO L280 TraceCheckUtils]: 12: Hoare triple {1178#(<= |applyHanoi_#in~n| 1)} assume true; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,823 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1178#(<= |applyHanoi_#in~n| 1)} {1142#true} #48#return; {1161#(<= main_~n~0 1)} is VALID [2020-07-17 22:08:04,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,884 INFO L280 TraceCheckUtils]: 0: Hoare triple {1142#true} ~n := #in~n; {1184#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,885 INFO L280 TraceCheckUtils]: 1: Hoare triple {1184#(= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {1190#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,885 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#(= 1 |hanoi_#in~n|)} assume true; {1190#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,887 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1190#(= 1 |hanoi_#in~n|)} {1184#(= hanoi_~n |hanoi_#in~n|)} #42#return; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,887 INFO L280 TraceCheckUtils]: 0: Hoare triple {1142#true} ~n := #in~n; {1184#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,888 INFO L280 TraceCheckUtils]: 1: Hoare triple {1184#(= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {1184#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,888 INFO L263 TraceCheckUtils]: 2: Hoare triple {1184#(= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {1142#true} is VALID [2020-07-17 22:08:04,889 INFO L280 TraceCheckUtils]: 3: Hoare triple {1142#true} ~n := #in~n; {1184#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,890 INFO L280 TraceCheckUtils]: 4: Hoare triple {1184#(= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {1190#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,890 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#(= 1 |hanoi_#in~n|)} assume true; {1190#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,891 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1190#(= 1 |hanoi_#in~n|)} {1184#(= hanoi_~n |hanoi_#in~n|)} #42#return; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,892 INFO L280 TraceCheckUtils]: 7: Hoare triple {1189#(<= 2 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,893 INFO L280 TraceCheckUtils]: 8: Hoare triple {1189#(<= 2 |hanoi_#in~n|)} assume true; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,894 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1189#(<= 2 |hanoi_#in~n|)} {1161#(<= main_~n~0 1)} #50#return; {1143#false} is VALID [2020-07-17 22:08:04,895 INFO L263 TraceCheckUtils]: 0: Hoare triple {1142#true} call ULTIMATE.init(); {1172#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:04,895 INFO L280 TraceCheckUtils]: 1: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {1142#true} is VALID [2020-07-17 22:08:04,895 INFO L280 TraceCheckUtils]: 2: Hoare triple {1142#true} assume true; {1142#true} is VALID [2020-07-17 22:08:04,896 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1142#true} {1142#true} #44#return; {1142#true} is VALID [2020-07-17 22:08:04,896 INFO L263 TraceCheckUtils]: 4: Hoare triple {1142#true} call #t~ret4 := main(); {1142#true} is VALID [2020-07-17 22:08:04,896 INFO L280 TraceCheckUtils]: 5: Hoare triple {1142#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {1142#true} is VALID [2020-07-17 22:08:04,896 INFO L280 TraceCheckUtils]: 6: Hoare triple {1142#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {1142#true} is VALID [2020-07-17 22:08:04,897 INFO L263 TraceCheckUtils]: 7: Hoare triple {1142#true} call applyHanoi(~n~0, 1, 3, 2); {1172#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:04,898 INFO L280 TraceCheckUtils]: 8: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,899 INFO L280 TraceCheckUtils]: 9: Hoare triple {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,900 INFO L263 TraceCheckUtils]: 10: Hoare triple {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {1172#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:04,901 INFO L280 TraceCheckUtils]: 11: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,902 INFO L280 TraceCheckUtils]: 12: Hoare triple {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {1183#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,902 INFO L280 TraceCheckUtils]: 13: Hoare triple {1183#(= 0 |applyHanoi_#in~n|)} assume true; {1183#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:04,904 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1183#(= 0 |applyHanoi_#in~n|)} {1173#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,905 INFO L263 TraceCheckUtils]: 15: Hoare triple {1178#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {1172#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:04,905 INFO L280 TraceCheckUtils]: 16: Hoare triple {1172#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1142#true} is VALID [2020-07-17 22:08:04,906 INFO L280 TraceCheckUtils]: 17: Hoare triple {1142#true} assume 0 == ~n; {1142#true} is VALID [2020-07-17 22:08:04,906 INFO L280 TraceCheckUtils]: 18: Hoare triple {1142#true} assume true; {1142#true} is VALID [2020-07-17 22:08:04,907 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {1142#true} {1178#(<= |applyHanoi_#in~n| 1)} #40#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,908 INFO L280 TraceCheckUtils]: 20: Hoare triple {1178#(<= |applyHanoi_#in~n| 1)} assume true; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:04,909 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1178#(<= |applyHanoi_#in~n| 1)} {1142#true} #48#return; {1161#(<= main_~n~0 1)} is VALID [2020-07-17 22:08:04,909 INFO L263 TraceCheckUtils]: 22: Hoare triple {1161#(<= main_~n~0 1)} call #t~ret3 := hanoi(~n~0); {1142#true} is VALID [2020-07-17 22:08:04,910 INFO L280 TraceCheckUtils]: 23: Hoare triple {1142#true} ~n := #in~n; {1184#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,910 INFO L280 TraceCheckUtils]: 24: Hoare triple {1184#(= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {1184#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,910 INFO L263 TraceCheckUtils]: 25: Hoare triple {1184#(= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {1142#true} is VALID [2020-07-17 22:08:04,911 INFO L280 TraceCheckUtils]: 26: Hoare triple {1142#true} ~n := #in~n; {1184#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,912 INFO L280 TraceCheckUtils]: 27: Hoare triple {1184#(= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {1190#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,912 INFO L280 TraceCheckUtils]: 28: Hoare triple {1190#(= 1 |hanoi_#in~n|)} assume true; {1190#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,914 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1190#(= 1 |hanoi_#in~n|)} {1184#(= hanoi_~n |hanoi_#in~n|)} #42#return; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,914 INFO L280 TraceCheckUtils]: 30: Hoare triple {1189#(<= 2 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,915 INFO L280 TraceCheckUtils]: 31: Hoare triple {1189#(<= 2 |hanoi_#in~n|)} assume true; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:04,916 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1189#(<= 2 |hanoi_#in~n|)} {1161#(<= main_~n~0 1)} #50#return; {1143#false} is VALID [2020-07-17 22:08:04,916 INFO L280 TraceCheckUtils]: 33: Hoare triple {1143#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {1143#false} is VALID [2020-07-17 22:08:04,916 INFO L280 TraceCheckUtils]: 34: Hoare triple {1143#false} assume !(~result~0 == ~counter~0); {1143#false} is VALID [2020-07-17 22:08:04,917 INFO L280 TraceCheckUtils]: 35: Hoare triple {1143#false} assume !false; {1143#false} is VALID [2020-07-17 22:08:04,918 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-17 22:08:04,918 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1279558134] [2020-07-17 22:08:04,919 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2129545058] [2020-07-17 22:08:04,919 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:04,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,955 INFO L264 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-17 22:08:04,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:04,967 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:05,123 INFO L263 TraceCheckUtils]: 0: Hoare triple {1142#true} call ULTIMATE.init(); {1142#true} is VALID [2020-07-17 22:08:05,123 INFO L280 TraceCheckUtils]: 1: Hoare triple {1142#true} ~counter~0 := 0; {1142#true} is VALID [2020-07-17 22:08:05,123 INFO L280 TraceCheckUtils]: 2: Hoare triple {1142#true} assume true; {1142#true} is VALID [2020-07-17 22:08:05,124 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1142#true} {1142#true} #44#return; {1142#true} is VALID [2020-07-17 22:08:05,124 INFO L263 TraceCheckUtils]: 4: Hoare triple {1142#true} call #t~ret4 := main(); {1142#true} is VALID [2020-07-17 22:08:05,124 INFO L280 TraceCheckUtils]: 5: Hoare triple {1142#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {1142#true} is VALID [2020-07-17 22:08:05,124 INFO L280 TraceCheckUtils]: 6: Hoare triple {1142#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {1142#true} is VALID [2020-07-17 22:08:05,124 INFO L263 TraceCheckUtils]: 7: Hoare triple {1142#true} call applyHanoi(~n~0, 1, 3, 2); {1142#true} is VALID [2020-07-17 22:08:05,126 INFO L280 TraceCheckUtils]: 8: Hoare triple {1142#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1218#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:05,126 INFO L280 TraceCheckUtils]: 9: Hoare triple {1218#(<= |applyHanoi_#in~n| applyHanoi_~n)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1218#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:05,127 INFO L263 TraceCheckUtils]: 10: Hoare triple {1218#(<= |applyHanoi_#in~n| applyHanoi_~n)} call applyHanoi(~n - 1, ~from, ~via, ~to); {1142#true} is VALID [2020-07-17 22:08:05,127 INFO L280 TraceCheckUtils]: 11: Hoare triple {1142#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1218#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:05,128 INFO L280 TraceCheckUtils]: 12: Hoare triple {1218#(<= |applyHanoi_#in~n| applyHanoi_~n)} assume 0 == ~n; {1231#(<= |applyHanoi_#in~n| 0)} is VALID [2020-07-17 22:08:05,128 INFO L280 TraceCheckUtils]: 13: Hoare triple {1231#(<= |applyHanoi_#in~n| 0)} assume true; {1231#(<= |applyHanoi_#in~n| 0)} is VALID [2020-07-17 22:08:05,130 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1231#(<= |applyHanoi_#in~n| 0)} {1218#(<= |applyHanoi_#in~n| applyHanoi_~n)} #38#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:05,130 INFO L263 TraceCheckUtils]: 15: Hoare triple {1178#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {1142#true} is VALID [2020-07-17 22:08:05,131 INFO L280 TraceCheckUtils]: 16: Hoare triple {1142#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1142#true} is VALID [2020-07-17 22:08:05,131 INFO L280 TraceCheckUtils]: 17: Hoare triple {1142#true} assume 0 == ~n; {1142#true} is VALID [2020-07-17 22:08:05,131 INFO L280 TraceCheckUtils]: 18: Hoare triple {1142#true} assume true; {1142#true} is VALID [2020-07-17 22:08:05,132 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {1142#true} {1178#(<= |applyHanoi_#in~n| 1)} #40#return; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:05,133 INFO L280 TraceCheckUtils]: 20: Hoare triple {1178#(<= |applyHanoi_#in~n| 1)} assume true; {1178#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:05,134 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1178#(<= |applyHanoi_#in~n| 1)} {1142#true} #48#return; {1161#(<= main_~n~0 1)} is VALID [2020-07-17 22:08:05,134 INFO L263 TraceCheckUtils]: 22: Hoare triple {1161#(<= main_~n~0 1)} call #t~ret3 := hanoi(~n~0); {1142#true} is VALID [2020-07-17 22:08:05,135 INFO L280 TraceCheckUtils]: 23: Hoare triple {1142#true} ~n := #in~n; {1265#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,135 INFO L280 TraceCheckUtils]: 24: Hoare triple {1265#(<= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {1265#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,135 INFO L263 TraceCheckUtils]: 25: Hoare triple {1265#(<= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {1142#true} is VALID [2020-07-17 22:08:05,136 INFO L280 TraceCheckUtils]: 26: Hoare triple {1142#true} ~n := #in~n; {1265#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,137 INFO L280 TraceCheckUtils]: 27: Hoare triple {1265#(<= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {1278#(<= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,137 INFO L280 TraceCheckUtils]: 28: Hoare triple {1278#(<= 1 |hanoi_#in~n|)} assume true; {1278#(<= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,139 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1278#(<= 1 |hanoi_#in~n|)} {1265#(<= hanoi_~n |hanoi_#in~n|)} #42#return; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,139 INFO L280 TraceCheckUtils]: 30: Hoare triple {1189#(<= 2 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,140 INFO L280 TraceCheckUtils]: 31: Hoare triple {1189#(<= 2 |hanoi_#in~n|)} assume true; {1189#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:05,141 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1189#(<= 2 |hanoi_#in~n|)} {1161#(<= main_~n~0 1)} #50#return; {1143#false} is VALID [2020-07-17 22:08:05,141 INFO L280 TraceCheckUtils]: 33: Hoare triple {1143#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {1143#false} is VALID [2020-07-17 22:08:05,142 INFO L280 TraceCheckUtils]: 34: Hoare triple {1143#false} assume !(~result~0 == ~counter~0); {1143#false} is VALID [2020-07-17 22:08:05,142 INFO L280 TraceCheckUtils]: 35: Hoare triple {1143#false} assume !false; {1143#false} is VALID [2020-07-17 22:08:05,143 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-17 22:08:05,144 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:05,144 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2020-07-17 22:08:05,144 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [557456595] [2020-07-17 22:08:05,145 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 36 [2020-07-17 22:08:05,146 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:08:05,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-17 22:08:05,202 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:05,203 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-17 22:08:05,203 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:08:05,203 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-17 22:08:05,203 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:08:05,204 INFO L87 Difference]: Start difference. First operand 48 states and 58 transitions. Second operand 14 states. [2020-07-17 22:08:06,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:06,019 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2020-07-17 22:08:06,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-17 22:08:06,019 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 36 [2020-07-17 22:08:06,019 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:08:06,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-17 22:08:06,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 46 transitions. [2020-07-17 22:08:06,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-17 22:08:06,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 46 transitions. [2020-07-17 22:08:06,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 46 transitions. [2020-07-17 22:08:06,099 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:06,101 INFO L225 Difference]: With dead ends: 53 [2020-07-17 22:08:06,102 INFO L226 Difference]: Without dead ends: 41 [2020-07-17 22:08:06,103 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=90, Invalid=372, Unknown=0, NotChecked=0, Total=462 [2020-07-17 22:08:06,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-17 22:08:06,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 39. [2020-07-17 22:08:06,136 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:08:06,136 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 39 states. [2020-07-17 22:08:06,136 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 39 states. [2020-07-17 22:08:06,136 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 39 states. [2020-07-17 22:08:06,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:06,140 INFO L93 Difference]: Finished difference Result 41 states and 49 transitions. [2020-07-17 22:08:06,140 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2020-07-17 22:08:06,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:06,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:06,141 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 41 states. [2020-07-17 22:08:06,141 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 41 states. [2020-07-17 22:08:06,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:06,144 INFO L93 Difference]: Finished difference Result 41 states and 49 transitions. [2020-07-17 22:08:06,144 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2020-07-17 22:08:06,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:06,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:06,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:08:06,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:08:06,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2020-07-17 22:08:06,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 47 transitions. [2020-07-17 22:08:06,148 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 47 transitions. Word has length 36 [2020-07-17 22:08:06,148 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:08:06,148 INFO L479 AbstractCegarLoop]: Abstraction has 39 states and 47 transitions. [2020-07-17 22:08:06,148 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-17 22:08:06,148 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 47 transitions. [2020-07-17 22:08:06,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2020-07-17 22:08:06,150 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:08:06,150 INFO L422 BasicCegarLoop]: trace histogram [7, 7, 4, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:08:06,361 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:06,362 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:08:06,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:08:06,363 INFO L82 PathProgramCache]: Analyzing trace with hash -979408629, now seen corresponding path program 2 times [2020-07-17 22:08:06,363 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:08:06,364 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [814988178] [2020-07-17 22:08:06,364 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:08:06,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,477 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {1529#true} is VALID [2020-07-17 22:08:06,477 INFO L280 TraceCheckUtils]: 1: Hoare triple {1529#true} assume true; {1529#true} is VALID [2020-07-17 22:08:06,477 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1529#true} {1529#true} #44#return; {1529#true} is VALID [2020-07-17 22:08:06,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,643 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,644 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,644 INFO L280 TraceCheckUtils]: 2: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,646 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,666 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,667 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,667 INFO L280 TraceCheckUtils]: 2: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,669 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,669 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,671 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,672 INFO L263 TraceCheckUtils]: 2: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,672 INFO L280 TraceCheckUtils]: 3: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,675 INFO L280 TraceCheckUtils]: 4: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,677 INFO L280 TraceCheckUtils]: 5: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,678 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,680 INFO L263 TraceCheckUtils]: 7: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,681 INFO L280 TraceCheckUtils]: 8: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,683 INFO L280 TraceCheckUtils]: 9: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,684 INFO L280 TraceCheckUtils]: 10: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,685 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,687 INFO L280 TraceCheckUtils]: 12: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,688 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:06,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,730 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,730 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,731 INFO L280 TraceCheckUtils]: 2: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,733 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,743 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,744 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,744 INFO L280 TraceCheckUtils]: 2: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,746 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,747 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,748 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,749 INFO L263 TraceCheckUtils]: 2: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,749 INFO L280 TraceCheckUtils]: 3: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,750 INFO L280 TraceCheckUtils]: 4: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,750 INFO L280 TraceCheckUtils]: 5: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,752 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,753 INFO L263 TraceCheckUtils]: 7: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,754 INFO L280 TraceCheckUtils]: 8: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,754 INFO L280 TraceCheckUtils]: 9: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,755 INFO L280 TraceCheckUtils]: 10: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,756 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,757 INFO L280 TraceCheckUtils]: 12: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,759 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} is VALID [2020-07-17 22:08:06,760 INFO L280 TraceCheckUtils]: 0: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,761 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,763 INFO L263 TraceCheckUtils]: 2: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,763 INFO L280 TraceCheckUtils]: 3: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,764 INFO L280 TraceCheckUtils]: 4: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,766 INFO L263 TraceCheckUtils]: 5: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,766 INFO L280 TraceCheckUtils]: 6: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,767 INFO L280 TraceCheckUtils]: 7: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,767 INFO L280 TraceCheckUtils]: 8: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,771 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,772 INFO L263 TraceCheckUtils]: 10: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,773 INFO L280 TraceCheckUtils]: 11: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,774 INFO L280 TraceCheckUtils]: 12: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,774 INFO L280 TraceCheckUtils]: 13: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,776 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,776 INFO L280 TraceCheckUtils]: 15: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,778 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:06,780 INFO L263 TraceCheckUtils]: 17: Hoare triple {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,780 INFO L280 TraceCheckUtils]: 18: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,781 INFO L280 TraceCheckUtils]: 19: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,783 INFO L263 TraceCheckUtils]: 20: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,783 INFO L280 TraceCheckUtils]: 21: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,784 INFO L280 TraceCheckUtils]: 22: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,784 INFO L280 TraceCheckUtils]: 23: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,786 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,787 INFO L263 TraceCheckUtils]: 25: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,788 INFO L280 TraceCheckUtils]: 26: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,789 INFO L280 TraceCheckUtils]: 27: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,789 INFO L280 TraceCheckUtils]: 28: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,791 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,791 INFO L280 TraceCheckUtils]: 30: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,793 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} is VALID [2020-07-17 22:08:06,794 INFO L280 TraceCheckUtils]: 32: Hoare triple {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} assume true; {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} is VALID [2020-07-17 22:08:06,796 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} {1534#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:06,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:06,889 INFO L280 TraceCheckUtils]: 0: Hoare triple {1529#true} ~n := #in~n; {1529#true} is VALID [2020-07-17 22:08:06,889 INFO L280 TraceCheckUtils]: 1: Hoare triple {1529#true} assume 1 == ~n;#res := 1; {1636#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:06,890 INFO L280 TraceCheckUtils]: 2: Hoare triple {1636#(= 1 |hanoi_#res|)} assume true; {1636#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:06,890 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1636#(= 1 |hanoi_#res|)} {1529#true} #42#return; {1634#(= 1 |hanoi_#t~ret0|)} is VALID [2020-07-17 22:08:06,891 INFO L280 TraceCheckUtils]: 0: Hoare triple {1529#true} ~n := #in~n; {1529#true} is VALID [2020-07-17 22:08:06,891 INFO L280 TraceCheckUtils]: 1: Hoare triple {1529#true} assume !(1 == ~n); {1529#true} is VALID [2020-07-17 22:08:06,891 INFO L263 TraceCheckUtils]: 2: Hoare triple {1529#true} call #t~ret0 := hanoi(~n - 1); {1529#true} is VALID [2020-07-17 22:08:06,891 INFO L280 TraceCheckUtils]: 3: Hoare triple {1529#true} ~n := #in~n; {1529#true} is VALID [2020-07-17 22:08:06,892 INFO L280 TraceCheckUtils]: 4: Hoare triple {1529#true} assume 1 == ~n;#res := 1; {1636#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:06,892 INFO L280 TraceCheckUtils]: 5: Hoare triple {1636#(= 1 |hanoi_#res|)} assume true; {1636#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:06,893 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1636#(= 1 |hanoi_#res|)} {1529#true} #42#return; {1634#(= 1 |hanoi_#t~ret0|)} is VALID [2020-07-17 22:08:06,893 INFO L280 TraceCheckUtils]: 7: Hoare triple {1634#(= 1 |hanoi_#t~ret0|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} is VALID [2020-07-17 22:08:06,894 INFO L280 TraceCheckUtils]: 8: Hoare triple {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} assume true; {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} is VALID [2020-07-17 22:08:06,894 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} {1569#(= ~counter~0 3)} #50#return; {1580#(= ~counter~0 |main_#t~ret3|)} is VALID [2020-07-17 22:08:06,895 INFO L263 TraceCheckUtils]: 0: Hoare triple {1529#true} call ULTIMATE.init(); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,895 INFO L280 TraceCheckUtils]: 1: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {1529#true} is VALID [2020-07-17 22:08:06,895 INFO L280 TraceCheckUtils]: 2: Hoare triple {1529#true} assume true; {1529#true} is VALID [2020-07-17 22:08:06,896 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1529#true} {1529#true} #44#return; {1529#true} is VALID [2020-07-17 22:08:06,896 INFO L263 TraceCheckUtils]: 4: Hoare triple {1529#true} call #t~ret4 := main(); {1529#true} is VALID [2020-07-17 22:08:06,896 INFO L280 TraceCheckUtils]: 5: Hoare triple {1529#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {1529#true} is VALID [2020-07-17 22:08:06,896 INFO L280 TraceCheckUtils]: 6: Hoare triple {1529#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {1534#(and (<= 0 ~counter~0) (<= ~counter~0 0))} is VALID [2020-07-17 22:08:06,897 INFO L263 TraceCheckUtils]: 7: Hoare triple {1534#(and (<= 0 ~counter~0) (<= ~counter~0 0))} call applyHanoi(~n~0, 1, 3, 2); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,897 INFO L280 TraceCheckUtils]: 8: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,898 INFO L280 TraceCheckUtils]: 9: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,900 INFO L263 TraceCheckUtils]: 10: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,900 INFO L280 TraceCheckUtils]: 11: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,901 INFO L280 TraceCheckUtils]: 12: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,901 INFO L263 TraceCheckUtils]: 13: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,902 INFO L280 TraceCheckUtils]: 14: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,903 INFO L280 TraceCheckUtils]: 15: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,903 INFO L280 TraceCheckUtils]: 16: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,905 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,906 INFO L263 TraceCheckUtils]: 18: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,906 INFO L280 TraceCheckUtils]: 19: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,907 INFO L280 TraceCheckUtils]: 20: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,907 INFO L280 TraceCheckUtils]: 21: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,909 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,910 INFO L280 TraceCheckUtils]: 23: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,911 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:06,912 INFO L263 TraceCheckUtils]: 25: Hoare triple {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,913 INFO L280 TraceCheckUtils]: 26: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,914 INFO L280 TraceCheckUtils]: 27: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,915 INFO L263 TraceCheckUtils]: 28: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,916 INFO L280 TraceCheckUtils]: 29: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,917 INFO L280 TraceCheckUtils]: 30: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,917 INFO L280 TraceCheckUtils]: 31: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,919 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,920 INFO L263 TraceCheckUtils]: 33: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,921 INFO L280 TraceCheckUtils]: 34: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,921 INFO L280 TraceCheckUtils]: 35: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,922 INFO L280 TraceCheckUtils]: 36: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:06,923 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,924 INFO L280 TraceCheckUtils]: 38: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:06,926 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} is VALID [2020-07-17 22:08:06,927 INFO L280 TraceCheckUtils]: 40: Hoare triple {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} assume true; {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} is VALID [2020-07-17 22:08:06,928 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {1613#(and (or (<= (+ |old(~counter~0)| 3) ~counter~0) (< 2 ~counter~0)) (or (<= ~counter~0 3) (<= ~counter~0 (+ |old(~counter~0)| 3))))} {1534#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:06,928 INFO L263 TraceCheckUtils]: 42: Hoare triple {1569#(= ~counter~0 3)} call #t~ret3 := hanoi(~n~0); {1529#true} is VALID [2020-07-17 22:08:06,928 INFO L280 TraceCheckUtils]: 43: Hoare triple {1529#true} ~n := #in~n; {1529#true} is VALID [2020-07-17 22:08:06,928 INFO L280 TraceCheckUtils]: 44: Hoare triple {1529#true} assume !(1 == ~n); {1529#true} is VALID [2020-07-17 22:08:06,929 INFO L263 TraceCheckUtils]: 45: Hoare triple {1529#true} call #t~ret0 := hanoi(~n - 1); {1529#true} is VALID [2020-07-17 22:08:06,929 INFO L280 TraceCheckUtils]: 46: Hoare triple {1529#true} ~n := #in~n; {1529#true} is VALID [2020-07-17 22:08:06,929 INFO L280 TraceCheckUtils]: 47: Hoare triple {1529#true} assume 1 == ~n;#res := 1; {1636#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:06,930 INFO L280 TraceCheckUtils]: 48: Hoare triple {1636#(= 1 |hanoi_#res|)} assume true; {1636#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:06,931 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {1636#(= 1 |hanoi_#res|)} {1529#true} #42#return; {1634#(= 1 |hanoi_#t~ret0|)} is VALID [2020-07-17 22:08:06,938 INFO L280 TraceCheckUtils]: 50: Hoare triple {1634#(= 1 |hanoi_#t~ret0|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} is VALID [2020-07-17 22:08:06,938 INFO L280 TraceCheckUtils]: 51: Hoare triple {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} assume true; {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} is VALID [2020-07-17 22:08:06,939 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1635#(and (<= |hanoi_#res| 3) (< 2 |hanoi_#res|))} {1569#(= ~counter~0 3)} #50#return; {1580#(= ~counter~0 |main_#t~ret3|)} is VALID [2020-07-17 22:08:06,940 INFO L280 TraceCheckUtils]: 53: Hoare triple {1580#(= ~counter~0 |main_#t~ret3|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {1581#(= ~counter~0 main_~result~0)} is VALID [2020-07-17 22:08:06,940 INFO L280 TraceCheckUtils]: 54: Hoare triple {1581#(= ~counter~0 main_~result~0)} assume !(~result~0 == ~counter~0); {1530#false} is VALID [2020-07-17 22:08:06,941 INFO L280 TraceCheckUtils]: 55: Hoare triple {1530#false} assume !false; {1530#false} is VALID [2020-07-17 22:08:06,945 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2020-07-17 22:08:06,946 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [814988178] [2020-07-17 22:08:06,946 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [434060435] [2020-07-17 22:08:06,946 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:07,012 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:08:07,013 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:08:07,015 INFO L264 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 47 conjunts are in the unsatisfiable core [2020-07-17 22:08:07,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:07,038 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:07,503 INFO L263 TraceCheckUtils]: 0: Hoare triple {1529#true} call ULTIMATE.init(); {1529#true} is VALID [2020-07-17 22:08:07,503 INFO L280 TraceCheckUtils]: 1: Hoare triple {1529#true} ~counter~0 := 0; {1529#true} is VALID [2020-07-17 22:08:07,504 INFO L280 TraceCheckUtils]: 2: Hoare triple {1529#true} assume true; {1529#true} is VALID [2020-07-17 22:08:07,504 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1529#true} {1529#true} #44#return; {1529#true} is VALID [2020-07-17 22:08:07,504 INFO L263 TraceCheckUtils]: 4: Hoare triple {1529#true} call #t~ret4 := main(); {1529#true} is VALID [2020-07-17 22:08:07,504 INFO L280 TraceCheckUtils]: 5: Hoare triple {1529#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {1529#true} is VALID [2020-07-17 22:08:07,507 INFO L280 TraceCheckUtils]: 6: Hoare triple {1529#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {1534#(and (<= 0 ~counter~0) (<= ~counter~0 0))} is VALID [2020-07-17 22:08:07,508 INFO L263 TraceCheckUtils]: 7: Hoare triple {1534#(and (<= 0 ~counter~0) (<= ~counter~0 0))} call applyHanoi(~n~0, 1, 3, 2); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,511 INFO L280 TraceCheckUtils]: 8: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,512 INFO L280 TraceCheckUtils]: 9: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,516 INFO L263 TraceCheckUtils]: 10: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,517 INFO L280 TraceCheckUtils]: 11: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,518 INFO L280 TraceCheckUtils]: 12: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,519 INFO L263 TraceCheckUtils]: 13: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,519 INFO L280 TraceCheckUtils]: 14: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,520 INFO L280 TraceCheckUtils]: 15: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,520 INFO L280 TraceCheckUtils]: 16: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,522 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,523 INFO L263 TraceCheckUtils]: 18: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,523 INFO L280 TraceCheckUtils]: 19: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,523 INFO L280 TraceCheckUtils]: 20: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,524 INFO L280 TraceCheckUtils]: 21: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,525 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,525 INFO L280 TraceCheckUtils]: 23: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,526 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:07,527 INFO L263 TraceCheckUtils]: 25: Hoare triple {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,528 INFO L280 TraceCheckUtils]: 26: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,529 INFO L280 TraceCheckUtils]: 27: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,530 INFO L263 TraceCheckUtils]: 28: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,531 INFO L280 TraceCheckUtils]: 29: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,532 INFO L280 TraceCheckUtils]: 30: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,532 INFO L280 TraceCheckUtils]: 31: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,534 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,534 INFO L263 TraceCheckUtils]: 33: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,535 INFO L280 TraceCheckUtils]: 34: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,535 INFO L280 TraceCheckUtils]: 35: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,536 INFO L280 TraceCheckUtils]: 36: Hoare triple {1582#(= ~counter~0 |old(~counter~0)|)} assume true; {1582#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:07,537 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {1582#(= ~counter~0 |old(~counter~0)|)} {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,537 INFO L280 TraceCheckUtils]: 38: Hoare triple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:07,539 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1583#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {1598#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {1757#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:07,540 INFO L280 TraceCheckUtils]: 40: Hoare triple {1757#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {1757#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:07,541 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {1757#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {1534#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:07,542 INFO L263 TraceCheckUtils]: 42: Hoare triple {1569#(= ~counter~0 3)} call #t~ret3 := hanoi(~n~0); {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:07,542 INFO L280 TraceCheckUtils]: 43: Hoare triple {1569#(= ~counter~0 3)} ~n := #in~n; {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:07,542 INFO L280 TraceCheckUtils]: 44: Hoare triple {1569#(= ~counter~0 3)} assume !(1 == ~n); {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:07,543 INFO L263 TraceCheckUtils]: 45: Hoare triple {1569#(= ~counter~0 3)} call #t~ret0 := hanoi(~n - 1); {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:07,543 INFO L280 TraceCheckUtils]: 46: Hoare triple {1569#(= ~counter~0 3)} ~n := #in~n; {1569#(= ~counter~0 3)} is VALID [2020-07-17 22:08:07,544 INFO L280 TraceCheckUtils]: 47: Hoare triple {1569#(= ~counter~0 3)} assume 1 == ~n;#res := 1; {1782#(and (= ~counter~0 3) (= 1 |hanoi_#res|))} is VALID [2020-07-17 22:08:07,544 INFO L280 TraceCheckUtils]: 48: Hoare triple {1782#(and (= ~counter~0 3) (= 1 |hanoi_#res|))} assume true; {1782#(and (= ~counter~0 3) (= 1 |hanoi_#res|))} is VALID [2020-07-17 22:08:07,546 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {1782#(and (= ~counter~0 3) (= 1 |hanoi_#res|))} {1569#(= ~counter~0 3)} #42#return; {1789#(and (= ~counter~0 3) (= 1 |hanoi_#t~ret0|))} is VALID [2020-07-17 22:08:07,546 INFO L280 TraceCheckUtils]: 50: Hoare triple {1789#(and (= ~counter~0 3) (= 1 |hanoi_#t~ret0|))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {1793#(and (= ~counter~0 3) (= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:07,547 INFO L280 TraceCheckUtils]: 51: Hoare triple {1793#(and (= ~counter~0 3) (= 3 |hanoi_#res|))} assume true; {1793#(and (= ~counter~0 3) (= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:07,548 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {1793#(and (= ~counter~0 3) (= 3 |hanoi_#res|))} {1569#(= ~counter~0 3)} #50#return; {1800#(and (= 3 |main_#t~ret3|) (= ~counter~0 3))} is VALID [2020-07-17 22:08:07,549 INFO L280 TraceCheckUtils]: 53: Hoare triple {1800#(and (= 3 |main_#t~ret3|) (= ~counter~0 3))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {1804#(and (= ~counter~0 3) (= 3 main_~result~0))} is VALID [2020-07-17 22:08:07,550 INFO L280 TraceCheckUtils]: 54: Hoare triple {1804#(and (= ~counter~0 3) (= 3 main_~result~0))} assume !(~result~0 == ~counter~0); {1530#false} is VALID [2020-07-17 22:08:07,550 INFO L280 TraceCheckUtils]: 55: Hoare triple {1530#false} assume !false; {1530#false} is VALID [2020-07-17 22:08:07,554 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2020-07-17 22:08:07,555 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:07,555 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 19 [2020-07-17 22:08:07,555 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1519229073] [2020-07-17 22:08:07,556 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 56 [2020-07-17 22:08:07,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:08:07,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-17 22:08:07,629 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:07,629 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-17 22:08:07,630 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:08:07,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-17 22:08:07,631 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=290, Unknown=0, NotChecked=0, Total=342 [2020-07-17 22:08:07,631 INFO L87 Difference]: Start difference. First operand 39 states and 47 transitions. Second operand 19 states. [2020-07-17 22:08:09,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:09,261 INFO L93 Difference]: Finished difference Result 65 states and 81 transitions. [2020-07-17 22:08:09,261 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-17 22:08:09,261 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 56 [2020-07-17 22:08:09,262 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:08:09,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-17 22:08:09,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 73 transitions. [2020-07-17 22:08:09,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-17 22:08:09,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 73 transitions. [2020-07-17 22:08:09,269 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 73 transitions. [2020-07-17 22:08:09,373 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:09,377 INFO L225 Difference]: With dead ends: 65 [2020-07-17 22:08:09,378 INFO L226 Difference]: Without dead ends: 61 [2020-07-17 22:08:09,379 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 73 SyntacticMatches, 5 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 132 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=121, Invalid=749, Unknown=0, NotChecked=0, Total=870 [2020-07-17 22:08:09,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2020-07-17 22:08:09,421 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 54. [2020-07-17 22:08:09,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:08:09,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 54 states. [2020-07-17 22:08:09,421 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 54 states. [2020-07-17 22:08:09,422 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 54 states. [2020-07-17 22:08:09,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:09,428 INFO L93 Difference]: Finished difference Result 61 states and 77 transitions. [2020-07-17 22:08:09,428 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 77 transitions. [2020-07-17 22:08:09,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:09,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:09,430 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 61 states. [2020-07-17 22:08:09,430 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 61 states. [2020-07-17 22:08:09,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:09,439 INFO L93 Difference]: Finished difference Result 61 states and 77 transitions. [2020-07-17 22:08:09,439 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 77 transitions. [2020-07-17 22:08:09,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:09,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:09,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:08:09,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:08:09,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2020-07-17 22:08:09,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 70 transitions. [2020-07-17 22:08:09,444 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 70 transitions. Word has length 56 [2020-07-17 22:08:09,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:08:09,445 INFO L479 AbstractCegarLoop]: Abstraction has 54 states and 70 transitions. [2020-07-17 22:08:09,445 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-17 22:08:09,445 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 70 transitions. [2020-07-17 22:08:09,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2020-07-17 22:08:09,449 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:08:09,450 INFO L422 BasicCegarLoop]: trace histogram [11, 11, 6, 5, 5, 5, 5, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:08:09,661 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:09,662 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:08:09,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:08:09,663 INFO L82 PathProgramCache]: Analyzing trace with hash -83361749, now seen corresponding path program 3 times [2020-07-17 22:08:09,663 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:08:09,664 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94262933] [2020-07-17 22:08:09,664 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:08:09,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,712 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {2115#true} is VALID [2020-07-17 22:08:09,712 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,712 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2115#true} {2115#true} #44#return; {2115#true} is VALID [2020-07-17 22:08:09,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,795 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,796 INFO L280 TraceCheckUtils]: 1: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,797 INFO L280 TraceCheckUtils]: 2: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,798 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:09,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,804 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,805 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,805 INFO L280 TraceCheckUtils]: 2: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,806 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2115#true} {2239#(<= |applyHanoi_#in~n| 1)} #40#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:09,807 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,808 INFO L280 TraceCheckUtils]: 1: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,809 INFO L263 TraceCheckUtils]: 2: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,810 INFO L280 TraceCheckUtils]: 3: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,810 INFO L280 TraceCheckUtils]: 4: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,811 INFO L280 TraceCheckUtils]: 5: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,813 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:09,814 INFO L263 TraceCheckUtils]: 7: Hoare triple {2239#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,815 INFO L280 TraceCheckUtils]: 8: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,815 INFO L280 TraceCheckUtils]: 9: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,815 INFO L280 TraceCheckUtils]: 10: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,816 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {2115#true} {2239#(<= |applyHanoi_#in~n| 1)} #40#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:09,817 INFO L280 TraceCheckUtils]: 12: Hoare triple {2239#(<= |applyHanoi_#in~n| 1)} assume true; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:09,819 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {2239#(<= |applyHanoi_#in~n| 1)} {2115#true} #38#return; {2199#(<= applyHanoi_~n 2)} is VALID [2020-07-17 22:08:09,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,904 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,905 INFO L280 TraceCheckUtils]: 1: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,906 INFO L280 TraceCheckUtils]: 2: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,907 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,912 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,912 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,913 INFO L280 TraceCheckUtils]: 2: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,914 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2115#true} {2278#(<= 1 |applyHanoi_#in~n|)} #40#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,914 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,915 INFO L280 TraceCheckUtils]: 1: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,916 INFO L263 TraceCheckUtils]: 2: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,917 INFO L280 TraceCheckUtils]: 3: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,917 INFO L280 TraceCheckUtils]: 4: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,918 INFO L280 TraceCheckUtils]: 5: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,920 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,921 INFO L263 TraceCheckUtils]: 7: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,922 INFO L280 TraceCheckUtils]: 8: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,922 INFO L280 TraceCheckUtils]: 9: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,922 INFO L280 TraceCheckUtils]: 10: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,923 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {2115#true} {2278#(<= 1 |applyHanoi_#in~n|)} #40#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,924 INFO L280 TraceCheckUtils]: 12: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} assume true; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,926 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {2278#(<= 1 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,940 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,941 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,941 INFO L280 TraceCheckUtils]: 2: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,941 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2115#true} {2115#true} #38#return; {2115#true} is VALID [2020-07-17 22:08:09,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:09,946 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,947 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,947 INFO L280 TraceCheckUtils]: 2: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,947 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2115#true} {2115#true} #40#return; {2115#true} is VALID [2020-07-17 22:08:09,948 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,948 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:09,949 INFO L263 TraceCheckUtils]: 2: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,950 INFO L280 TraceCheckUtils]: 3: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,950 INFO L280 TraceCheckUtils]: 4: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,950 INFO L280 TraceCheckUtils]: 5: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,950 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2115#true} {2115#true} #38#return; {2115#true} is VALID [2020-07-17 22:08:09,952 INFO L263 TraceCheckUtils]: 7: Hoare triple {2115#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,953 INFO L280 TraceCheckUtils]: 8: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,953 INFO L280 TraceCheckUtils]: 9: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,953 INFO L280 TraceCheckUtils]: 10: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,953 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {2115#true} {2115#true} #40#return; {2115#true} is VALID [2020-07-17 22:08:09,954 INFO L280 TraceCheckUtils]: 12: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,955 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {2115#true} {2259#(<= 2 |applyHanoi_#in~n|)} #40#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,956 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,956 INFO L280 TraceCheckUtils]: 1: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,958 INFO L263 TraceCheckUtils]: 2: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,959 INFO L280 TraceCheckUtils]: 3: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,960 INFO L280 TraceCheckUtils]: 4: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,962 INFO L263 TraceCheckUtils]: 5: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,963 INFO L280 TraceCheckUtils]: 6: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,964 INFO L280 TraceCheckUtils]: 7: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,966 INFO L280 TraceCheckUtils]: 8: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,968 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,970 INFO L263 TraceCheckUtils]: 10: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,970 INFO L280 TraceCheckUtils]: 11: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,971 INFO L280 TraceCheckUtils]: 12: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,971 INFO L280 TraceCheckUtils]: 13: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,972 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2115#true} {2278#(<= 1 |applyHanoi_#in~n|)} #40#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,973 INFO L280 TraceCheckUtils]: 15: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} assume true; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,975 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2278#(<= 1 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,977 INFO L263 TraceCheckUtils]: 17: Hoare triple {2259#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,977 INFO L280 TraceCheckUtils]: 18: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,977 INFO L280 TraceCheckUtils]: 19: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:09,979 INFO L263 TraceCheckUtils]: 20: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,979 INFO L280 TraceCheckUtils]: 21: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,980 INFO L280 TraceCheckUtils]: 22: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,980 INFO L280 TraceCheckUtils]: 23: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,980 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2115#true} {2115#true} #38#return; {2115#true} is VALID [2020-07-17 22:08:09,982 INFO L263 TraceCheckUtils]: 25: Hoare triple {2115#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,982 INFO L280 TraceCheckUtils]: 26: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,983 INFO L280 TraceCheckUtils]: 27: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:09,983 INFO L280 TraceCheckUtils]: 28: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,983 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {2115#true} {2115#true} #40#return; {2115#true} is VALID [2020-07-17 22:08:09,983 INFO L280 TraceCheckUtils]: 30: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:09,985 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2115#true} {2259#(<= 2 |applyHanoi_#in~n|)} #40#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,986 INFO L280 TraceCheckUtils]: 32: Hoare triple {2259#(<= 2 |applyHanoi_#in~n|)} assume true; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,988 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {2259#(<= 2 |applyHanoi_#in~n|)} {2199#(<= applyHanoi_~n 2)} #40#return; {2116#false} is VALID [2020-07-17 22:08:09,990 INFO L280 TraceCheckUtils]: 0: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:09,990 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:09,992 INFO L263 TraceCheckUtils]: 2: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,993 INFO L280 TraceCheckUtils]: 3: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,994 INFO L280 TraceCheckUtils]: 4: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,996 INFO L263 TraceCheckUtils]: 5: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:09,996 INFO L280 TraceCheckUtils]: 6: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,997 INFO L280 TraceCheckUtils]: 7: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,997 INFO L280 TraceCheckUtils]: 8: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:09,999 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,000 INFO L263 TraceCheckUtils]: 10: Hoare triple {2239#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,000 INFO L280 TraceCheckUtils]: 11: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,001 INFO L280 TraceCheckUtils]: 12: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,001 INFO L280 TraceCheckUtils]: 13: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,002 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2115#true} {2239#(<= |applyHanoi_#in~n| 1)} #40#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,002 INFO L280 TraceCheckUtils]: 15: Hoare triple {2239#(<= |applyHanoi_#in~n| 1)} assume true; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,004 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2239#(<= |applyHanoi_#in~n| 1)} {2115#true} #38#return; {2199#(<= applyHanoi_~n 2)} is VALID [2020-07-17 22:08:10,005 INFO L263 TraceCheckUtils]: 17: Hoare triple {2199#(<= applyHanoi_~n 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,006 INFO L280 TraceCheckUtils]: 18: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,006 INFO L280 TraceCheckUtils]: 19: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,008 INFO L263 TraceCheckUtils]: 20: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,008 INFO L280 TraceCheckUtils]: 21: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,009 INFO L280 TraceCheckUtils]: 22: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,010 INFO L263 TraceCheckUtils]: 23: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,011 INFO L280 TraceCheckUtils]: 24: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,012 INFO L280 TraceCheckUtils]: 25: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,012 INFO L280 TraceCheckUtils]: 26: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,014 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,016 INFO L263 TraceCheckUtils]: 28: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,017 INFO L280 TraceCheckUtils]: 29: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,017 INFO L280 TraceCheckUtils]: 30: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,017 INFO L280 TraceCheckUtils]: 31: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,019 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {2115#true} {2278#(<= 1 |applyHanoi_#in~n|)} #40#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,020 INFO L280 TraceCheckUtils]: 33: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} assume true; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,022 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {2278#(<= 1 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,024 INFO L263 TraceCheckUtils]: 35: Hoare triple {2259#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,025 INFO L280 TraceCheckUtils]: 36: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,025 INFO L280 TraceCheckUtils]: 37: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:10,027 INFO L263 TraceCheckUtils]: 38: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,027 INFO L280 TraceCheckUtils]: 39: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,027 INFO L280 TraceCheckUtils]: 40: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,027 INFO L280 TraceCheckUtils]: 41: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,028 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {2115#true} {2115#true} #38#return; {2115#true} is VALID [2020-07-17 22:08:10,029 INFO L263 TraceCheckUtils]: 43: Hoare triple {2115#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,030 INFO L280 TraceCheckUtils]: 44: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,030 INFO L280 TraceCheckUtils]: 45: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,030 INFO L280 TraceCheckUtils]: 46: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,031 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2115#true} {2115#true} #40#return; {2115#true} is VALID [2020-07-17 22:08:10,031 INFO L280 TraceCheckUtils]: 48: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,032 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {2115#true} {2259#(<= 2 |applyHanoi_#in~n|)} #40#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,033 INFO L280 TraceCheckUtils]: 50: Hoare triple {2259#(<= 2 |applyHanoi_#in~n|)} assume true; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,035 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2259#(<= 2 |applyHanoi_#in~n|)} {2199#(<= applyHanoi_~n 2)} #40#return; {2116#false} is VALID [2020-07-17 22:08:10,035 INFO L280 TraceCheckUtils]: 52: Hoare triple {2116#false} assume true; {2116#false} is VALID [2020-07-17 22:08:10,036 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {2116#false} {2115#true} #48#return; {2116#false} is VALID [2020-07-17 22:08:10,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:10,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:10,050 INFO L280 TraceCheckUtils]: 0: Hoare triple {2115#true} ~n := #in~n; {2115#true} is VALID [2020-07-17 22:08:10,051 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume 1 == ~n;#res := 1; {2115#true} is VALID [2020-07-17 22:08:10,051 INFO L280 TraceCheckUtils]: 2: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,051 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2115#true} {2115#true} #42#return; {2115#true} is VALID [2020-07-17 22:08:10,052 INFO L280 TraceCheckUtils]: 0: Hoare triple {2115#true} ~n := #in~n; {2115#true} is VALID [2020-07-17 22:08:10,052 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} assume !(1 == ~n); {2115#true} is VALID [2020-07-17 22:08:10,052 INFO L263 TraceCheckUtils]: 2: Hoare triple {2115#true} call #t~ret0 := hanoi(~n - 1); {2115#true} is VALID [2020-07-17 22:08:10,052 INFO L280 TraceCheckUtils]: 3: Hoare triple {2115#true} ~n := #in~n; {2115#true} is VALID [2020-07-17 22:08:10,053 INFO L280 TraceCheckUtils]: 4: Hoare triple {2115#true} assume 1 == ~n;#res := 1; {2115#true} is VALID [2020-07-17 22:08:10,053 INFO L280 TraceCheckUtils]: 5: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,053 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2115#true} {2115#true} #42#return; {2115#true} is VALID [2020-07-17 22:08:10,053 INFO L280 TraceCheckUtils]: 7: Hoare triple {2115#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {2115#true} is VALID [2020-07-17 22:08:10,054 INFO L280 TraceCheckUtils]: 8: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,054 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2115#true} {2116#false} #50#return; {2116#false} is VALID [2020-07-17 22:08:10,055 INFO L263 TraceCheckUtils]: 0: Hoare triple {2115#true} call ULTIMATE.init(); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,056 INFO L280 TraceCheckUtils]: 1: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {2115#true} is VALID [2020-07-17 22:08:10,056 INFO L280 TraceCheckUtils]: 2: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,056 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2115#true} {2115#true} #44#return; {2115#true} is VALID [2020-07-17 22:08:10,057 INFO L263 TraceCheckUtils]: 4: Hoare triple {2115#true} call #t~ret4 := main(); {2115#true} is VALID [2020-07-17 22:08:10,057 INFO L280 TraceCheckUtils]: 5: Hoare triple {2115#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {2115#true} is VALID [2020-07-17 22:08:10,057 INFO L280 TraceCheckUtils]: 6: Hoare triple {2115#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {2115#true} is VALID [2020-07-17 22:08:10,059 INFO L263 TraceCheckUtils]: 7: Hoare triple {2115#true} call applyHanoi(~n~0, 1, 3, 2); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,059 INFO L280 TraceCheckUtils]: 8: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,059 INFO L280 TraceCheckUtils]: 9: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:10,061 INFO L263 TraceCheckUtils]: 10: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,061 INFO L280 TraceCheckUtils]: 11: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,062 INFO L280 TraceCheckUtils]: 12: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,063 INFO L263 TraceCheckUtils]: 13: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,064 INFO L280 TraceCheckUtils]: 14: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,065 INFO L280 TraceCheckUtils]: 15: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,066 INFO L280 TraceCheckUtils]: 16: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,068 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,070 INFO L263 TraceCheckUtils]: 18: Hoare triple {2239#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,070 INFO L280 TraceCheckUtils]: 19: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,071 INFO L280 TraceCheckUtils]: 20: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,071 INFO L280 TraceCheckUtils]: 21: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,073 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2115#true} {2239#(<= |applyHanoi_#in~n| 1)} #40#return; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,074 INFO L280 TraceCheckUtils]: 23: Hoare triple {2239#(<= |applyHanoi_#in~n| 1)} assume true; {2239#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,076 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2239#(<= |applyHanoi_#in~n| 1)} {2115#true} #38#return; {2199#(<= applyHanoi_~n 2)} is VALID [2020-07-17 22:08:10,078 INFO L263 TraceCheckUtils]: 25: Hoare triple {2199#(<= applyHanoi_~n 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,079 INFO L280 TraceCheckUtils]: 26: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,079 INFO L280 TraceCheckUtils]: 27: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,081 INFO L263 TraceCheckUtils]: 28: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,082 INFO L280 TraceCheckUtils]: 29: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,082 INFO L280 TraceCheckUtils]: 30: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,084 INFO L263 TraceCheckUtils]: 31: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,085 INFO L280 TraceCheckUtils]: 32: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,086 INFO L280 TraceCheckUtils]: 33: Hoare triple {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,087 INFO L280 TraceCheckUtils]: 34: Hoare triple {2244#(= 0 |applyHanoi_#in~n|)} assume true; {2244#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,089 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {2244#(= 0 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,090 INFO L263 TraceCheckUtils]: 36: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,091 INFO L280 TraceCheckUtils]: 37: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,091 INFO L280 TraceCheckUtils]: 38: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,091 INFO L280 TraceCheckUtils]: 39: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,093 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {2115#true} {2278#(<= 1 |applyHanoi_#in~n|)} #40#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,094 INFO L280 TraceCheckUtils]: 41: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} assume true; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,096 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {2278#(<= 1 |applyHanoi_#in~n|)} {2234#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,098 INFO L263 TraceCheckUtils]: 43: Hoare triple {2259#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,098 INFO L280 TraceCheckUtils]: 44: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,098 INFO L280 TraceCheckUtils]: 45: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:10,100 INFO L263 TraceCheckUtils]: 46: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,100 INFO L280 TraceCheckUtils]: 47: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,100 INFO L280 TraceCheckUtils]: 48: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,100 INFO L280 TraceCheckUtils]: 49: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,100 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {2115#true} {2115#true} #38#return; {2115#true} is VALID [2020-07-17 22:08:10,101 INFO L263 TraceCheckUtils]: 51: Hoare triple {2115#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2184#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:10,102 INFO L280 TraceCheckUtils]: 52: Hoare triple {2184#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,102 INFO L280 TraceCheckUtils]: 53: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,102 INFO L280 TraceCheckUtils]: 54: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,102 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {2115#true} {2115#true} #40#return; {2115#true} is VALID [2020-07-17 22:08:10,103 INFO L280 TraceCheckUtils]: 56: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,105 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {2115#true} {2259#(<= 2 |applyHanoi_#in~n|)} #40#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,105 INFO L280 TraceCheckUtils]: 58: Hoare triple {2259#(<= 2 |applyHanoi_#in~n|)} assume true; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,107 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {2259#(<= 2 |applyHanoi_#in~n|)} {2199#(<= applyHanoi_~n 2)} #40#return; {2116#false} is VALID [2020-07-17 22:08:10,107 INFO L280 TraceCheckUtils]: 60: Hoare triple {2116#false} assume true; {2116#false} is VALID [2020-07-17 22:08:10,108 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {2116#false} {2115#true} #48#return; {2116#false} is VALID [2020-07-17 22:08:10,108 INFO L263 TraceCheckUtils]: 62: Hoare triple {2116#false} call #t~ret3 := hanoi(~n~0); {2115#true} is VALID [2020-07-17 22:08:10,108 INFO L280 TraceCheckUtils]: 63: Hoare triple {2115#true} ~n := #in~n; {2115#true} is VALID [2020-07-17 22:08:10,108 INFO L280 TraceCheckUtils]: 64: Hoare triple {2115#true} assume !(1 == ~n); {2115#true} is VALID [2020-07-17 22:08:10,109 INFO L263 TraceCheckUtils]: 65: Hoare triple {2115#true} call #t~ret0 := hanoi(~n - 1); {2115#true} is VALID [2020-07-17 22:08:10,109 INFO L280 TraceCheckUtils]: 66: Hoare triple {2115#true} ~n := #in~n; {2115#true} is VALID [2020-07-17 22:08:10,109 INFO L280 TraceCheckUtils]: 67: Hoare triple {2115#true} assume 1 == ~n;#res := 1; {2115#true} is VALID [2020-07-17 22:08:10,110 INFO L280 TraceCheckUtils]: 68: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,110 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {2115#true} {2115#true} #42#return; {2115#true} is VALID [2020-07-17 22:08:10,110 INFO L280 TraceCheckUtils]: 70: Hoare triple {2115#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {2115#true} is VALID [2020-07-17 22:08:10,110 INFO L280 TraceCheckUtils]: 71: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,111 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {2115#true} {2116#false} #50#return; {2116#false} is VALID [2020-07-17 22:08:10,111 INFO L280 TraceCheckUtils]: 73: Hoare triple {2116#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {2116#false} is VALID [2020-07-17 22:08:10,112 INFO L280 TraceCheckUtils]: 74: Hoare triple {2116#false} assume !(~result~0 == ~counter~0); {2116#false} is VALID [2020-07-17 22:08:10,112 INFO L280 TraceCheckUtils]: 75: Hoare triple {2116#false} assume !false; {2116#false} is VALID [2020-07-17 22:08:10,118 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 54 proven. 80 refuted. 0 times theorem prover too weak. 110 trivial. 0 not checked. [2020-07-17 22:08:10,118 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94262933] [2020-07-17 22:08:10,119 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [159288047] [2020-07-17 22:08:10,119 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:10,205 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2020-07-17 22:08:10,206 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:08:10,207 INFO L264 TraceCheckSpWp]: Trace formula consists of 300 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-17 22:08:10,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:10,247 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:10,531 INFO L263 TraceCheckUtils]: 0: Hoare triple {2115#true} call ULTIMATE.init(); {2115#true} is VALID [2020-07-17 22:08:10,531 INFO L280 TraceCheckUtils]: 1: Hoare triple {2115#true} ~counter~0 := 0; {2115#true} is VALID [2020-07-17 22:08:10,532 INFO L280 TraceCheckUtils]: 2: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,532 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2115#true} {2115#true} #44#return; {2115#true} is VALID [2020-07-17 22:08:10,532 INFO L263 TraceCheckUtils]: 4: Hoare triple {2115#true} call #t~ret4 := main(); {2115#true} is VALID [2020-07-17 22:08:10,532 INFO L280 TraceCheckUtils]: 5: Hoare triple {2115#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {2115#true} is VALID [2020-07-17 22:08:10,532 INFO L280 TraceCheckUtils]: 6: Hoare triple {2115#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {2115#true} is VALID [2020-07-17 22:08:10,533 INFO L263 TraceCheckUtils]: 7: Hoare triple {2115#true} call applyHanoi(~n~0, 1, 3, 2); {2115#true} is VALID [2020-07-17 22:08:10,534 INFO L280 TraceCheckUtils]: 8: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,534 INFO L280 TraceCheckUtils]: 9: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,534 INFO L263 TraceCheckUtils]: 10: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2115#true} is VALID [2020-07-17 22:08:10,535 INFO L280 TraceCheckUtils]: 11: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,535 INFO L280 TraceCheckUtils]: 12: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:10,535 INFO L263 TraceCheckUtils]: 13: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2115#true} is VALID [2020-07-17 22:08:10,535 INFO L280 TraceCheckUtils]: 14: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,536 INFO L280 TraceCheckUtils]: 15: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,536 INFO L280 TraceCheckUtils]: 16: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,536 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2115#true} {2115#true} #38#return; {2115#true} is VALID [2020-07-17 22:08:10,536 INFO L263 TraceCheckUtils]: 18: Hoare triple {2115#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2115#true} is VALID [2020-07-17 22:08:10,536 INFO L280 TraceCheckUtils]: 19: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,537 INFO L280 TraceCheckUtils]: 20: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,537 INFO L280 TraceCheckUtils]: 21: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,537 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2115#true} {2115#true} #40#return; {2115#true} is VALID [2020-07-17 22:08:10,537 INFO L280 TraceCheckUtils]: 23: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,539 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2115#true} {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,539 INFO L263 TraceCheckUtils]: 25: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2115#true} is VALID [2020-07-17 22:08:10,540 INFO L280 TraceCheckUtils]: 26: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,540 INFO L280 TraceCheckUtils]: 27: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,540 INFO L263 TraceCheckUtils]: 28: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2115#true} is VALID [2020-07-17 22:08:10,541 INFO L280 TraceCheckUtils]: 29: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,541 INFO L280 TraceCheckUtils]: 30: Hoare triple {2115#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2115#true} is VALID [2020-07-17 22:08:10,541 INFO L263 TraceCheckUtils]: 31: Hoare triple {2115#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2115#true} is VALID [2020-07-17 22:08:10,541 INFO L280 TraceCheckUtils]: 32: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,541 INFO L280 TraceCheckUtils]: 33: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,541 INFO L280 TraceCheckUtils]: 34: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,542 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {2115#true} {2115#true} #38#return; {2115#true} is VALID [2020-07-17 22:08:10,542 INFO L263 TraceCheckUtils]: 36: Hoare triple {2115#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2115#true} is VALID [2020-07-17 22:08:10,542 INFO L280 TraceCheckUtils]: 37: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,542 INFO L280 TraceCheckUtils]: 38: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,542 INFO L280 TraceCheckUtils]: 39: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,543 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {2115#true} {2115#true} #40#return; {2115#true} is VALID [2020-07-17 22:08:10,543 INFO L280 TraceCheckUtils]: 41: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,544 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {2115#true} {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,544 INFO L263 TraceCheckUtils]: 43: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2115#true} is VALID [2020-07-17 22:08:10,545 INFO L280 TraceCheckUtils]: 44: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,545 INFO L280 TraceCheckUtils]: 45: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,546 INFO L263 TraceCheckUtils]: 46: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2115#true} is VALID [2020-07-17 22:08:10,546 INFO L280 TraceCheckUtils]: 47: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2115#true} is VALID [2020-07-17 22:08:10,546 INFO L280 TraceCheckUtils]: 48: Hoare triple {2115#true} assume 0 == ~n; {2115#true} is VALID [2020-07-17 22:08:10,546 INFO L280 TraceCheckUtils]: 49: Hoare triple {2115#true} assume true; {2115#true} is VALID [2020-07-17 22:08:10,547 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {2115#true} {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,548 INFO L263 TraceCheckUtils]: 51: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2115#true} is VALID [2020-07-17 22:08:10,548 INFO L280 TraceCheckUtils]: 52: Hoare triple {2115#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,549 INFO L280 TraceCheckUtils]: 53: Hoare triple {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {2458#(<= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,550 INFO L280 TraceCheckUtils]: 54: Hoare triple {2458#(<= 0 |applyHanoi_#in~n|)} assume true; {2458#(<= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,551 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {2458#(<= 0 |applyHanoi_#in~n|)} {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} #40#return; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,552 INFO L280 TraceCheckUtils]: 56: Hoare triple {2278#(<= 1 |applyHanoi_#in~n|)} assume true; {2278#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,554 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {2278#(<= 1 |applyHanoi_#in~n|)} {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} #40#return; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,554 INFO L280 TraceCheckUtils]: 58: Hoare triple {2259#(<= 2 |applyHanoi_#in~n|)} assume true; {2259#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,556 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {2259#(<= 2 |applyHanoi_#in~n|)} {2322#(<= applyHanoi_~n |applyHanoi_#in~n|)} #40#return; {2477#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,557 INFO L280 TraceCheckUtils]: 60: Hoare triple {2477#(<= 3 |applyHanoi_#in~n|)} assume true; {2477#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:10,558 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {2477#(<= 3 |applyHanoi_#in~n|)} {2115#true} #48#return; {2484#(<= 3 main_~n~0)} is VALID [2020-07-17 22:08:10,558 INFO L263 TraceCheckUtils]: 62: Hoare triple {2484#(<= 3 main_~n~0)} call #t~ret3 := hanoi(~n~0); {2115#true} is VALID [2020-07-17 22:08:10,559 INFO L280 TraceCheckUtils]: 63: Hoare triple {2115#true} ~n := #in~n; {2491#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:10,559 INFO L280 TraceCheckUtils]: 64: Hoare triple {2491#(<= |hanoi_#in~n| hanoi_~n)} assume !(1 == ~n); {2491#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:10,560 INFO L263 TraceCheckUtils]: 65: Hoare triple {2491#(<= |hanoi_#in~n| hanoi_~n)} call #t~ret0 := hanoi(~n - 1); {2115#true} is VALID [2020-07-17 22:08:10,560 INFO L280 TraceCheckUtils]: 66: Hoare triple {2115#true} ~n := #in~n; {2491#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:10,561 INFO L280 TraceCheckUtils]: 67: Hoare triple {2491#(<= |hanoi_#in~n| hanoi_~n)} assume 1 == ~n;#res := 1; {2504#(<= |hanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,561 INFO L280 TraceCheckUtils]: 68: Hoare triple {2504#(<= |hanoi_#in~n| 1)} assume true; {2504#(<= |hanoi_#in~n| 1)} is VALID [2020-07-17 22:08:10,562 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {2504#(<= |hanoi_#in~n| 1)} {2491#(<= |hanoi_#in~n| hanoi_~n)} #42#return; {2511#(<= |hanoi_#in~n| 2)} is VALID [2020-07-17 22:08:10,563 INFO L280 TraceCheckUtils]: 70: Hoare triple {2511#(<= |hanoi_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {2511#(<= |hanoi_#in~n| 2)} is VALID [2020-07-17 22:08:10,564 INFO L280 TraceCheckUtils]: 71: Hoare triple {2511#(<= |hanoi_#in~n| 2)} assume true; {2511#(<= |hanoi_#in~n| 2)} is VALID [2020-07-17 22:08:10,566 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {2511#(<= |hanoi_#in~n| 2)} {2484#(<= 3 main_~n~0)} #50#return; {2116#false} is VALID [2020-07-17 22:08:10,566 INFO L280 TraceCheckUtils]: 73: Hoare triple {2116#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {2116#false} is VALID [2020-07-17 22:08:10,566 INFO L280 TraceCheckUtils]: 74: Hoare triple {2116#false} assume !(~result~0 == ~counter~0); {2116#false} is VALID [2020-07-17 22:08:10,566 INFO L280 TraceCheckUtils]: 75: Hoare triple {2116#false} assume !false; {2116#false} is VALID [2020-07-17 22:08:10,572 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 92 proven. 18 refuted. 0 times theorem prover too weak. 134 trivial. 0 not checked. [2020-07-17 22:08:10,573 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:10,573 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11] total 16 [2020-07-17 22:08:10,573 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [85750391] [2020-07-17 22:08:10,578 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 76 [2020-07-17 22:08:10,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:08:10,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-17 22:08:10,844 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:10,844 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-17 22:08:10,844 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:08:10,845 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-17 22:08:10,845 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2020-07-17 22:08:10,845 INFO L87 Difference]: Start difference. First operand 54 states and 70 transitions. Second operand 16 states. [2020-07-17 22:08:12,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:12,974 INFO L93 Difference]: Finished difference Result 105 states and 151 transitions. [2020-07-17 22:08:12,974 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2020-07-17 22:08:12,974 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 76 [2020-07-17 22:08:12,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:08:12,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-17 22:08:12,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 103 transitions. [2020-07-17 22:08:12,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-17 22:08:12,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 103 transitions. [2020-07-17 22:08:12,983 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 103 transitions. [2020-07-17 22:08:13,143 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:13,147 INFO L225 Difference]: With dead ends: 105 [2020-07-17 22:08:13,147 INFO L226 Difference]: Without dead ends: 74 [2020-07-17 22:08:13,149 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 98 SyntacticMatches, 0 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=204, Invalid=986, Unknown=0, NotChecked=0, Total=1190 [2020-07-17 22:08:13,149 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-17 22:08:13,210 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 46. [2020-07-17 22:08:13,210 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:08:13,210 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 46 states. [2020-07-17 22:08:13,210 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 46 states. [2020-07-17 22:08:13,210 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 46 states. [2020-07-17 22:08:13,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:13,215 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2020-07-17 22:08:13,215 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2020-07-17 22:08:13,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:13,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:13,216 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 74 states. [2020-07-17 22:08:13,217 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 74 states. [2020-07-17 22:08:13,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:13,221 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2020-07-17 22:08:13,222 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2020-07-17 22:08:13,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:13,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:13,222 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:08:13,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:08:13,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2020-07-17 22:08:13,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 55 transitions. [2020-07-17 22:08:13,226 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 55 transitions. Word has length 76 [2020-07-17 22:08:13,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:08:13,226 INFO L479 AbstractCegarLoop]: Abstraction has 46 states and 55 transitions. [2020-07-17 22:08:13,226 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-17 22:08:13,227 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 55 transitions. [2020-07-17 22:08:13,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-17 22:08:13,228 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:08:13,228 INFO L422 BasicCegarLoop]: trace histogram [7, 7, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:08:13,443 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2020-07-17 22:08:13,444 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:08:13,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:08:13,445 INFO L82 PathProgramCache]: Analyzing trace with hash 1033208535, now seen corresponding path program 4 times [2020-07-17 22:08:13,445 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:08:13,446 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [985187270] [2020-07-17 22:08:13,446 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:08:13,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,506 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {2923#true} is VALID [2020-07-17 22:08:13,506 INFO L280 TraceCheckUtils]: 1: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,507 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2923#true} {2923#true} #44#return; {2923#true} is VALID [2020-07-17 22:08:13,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,607 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,608 INFO L280 TraceCheckUtils]: 1: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,608 INFO L280 TraceCheckUtils]: 2: Hoare triple {3019#(= 0 |applyHanoi_#in~n|)} assume true; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,610 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3019#(= 0 |applyHanoi_#in~n|)} {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,617 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,617 INFO L280 TraceCheckUtils]: 1: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,617 INFO L280 TraceCheckUtils]: 2: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,619 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2923#true} {3014#(<= |applyHanoi_#in~n| 1)} #40#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,620 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,623 INFO L263 TraceCheckUtils]: 2: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,624 INFO L280 TraceCheckUtils]: 3: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,624 INFO L280 TraceCheckUtils]: 4: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,625 INFO L280 TraceCheckUtils]: 5: Hoare triple {3019#(= 0 |applyHanoi_#in~n|)} assume true; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,627 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3019#(= 0 |applyHanoi_#in~n|)} {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,628 INFO L263 TraceCheckUtils]: 7: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,628 INFO L280 TraceCheckUtils]: 8: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,628 INFO L280 TraceCheckUtils]: 9: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,629 INFO L280 TraceCheckUtils]: 10: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,630 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {2923#true} {3014#(<= |applyHanoi_#in~n| 1)} #40#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,631 INFO L280 TraceCheckUtils]: 12: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} assume true; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,633 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {3014#(<= |applyHanoi_#in~n| 1)} {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,648 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,648 INFO L280 TraceCheckUtils]: 1: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,648 INFO L280 TraceCheckUtils]: 2: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,649 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2923#true} {2923#true} #38#return; {2923#true} is VALID [2020-07-17 22:08:13,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,653 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,654 INFO L280 TraceCheckUtils]: 1: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,654 INFO L280 TraceCheckUtils]: 2: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,654 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2923#true} {2923#true} #40#return; {2923#true} is VALID [2020-07-17 22:08:13,654 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,655 INFO L280 TraceCheckUtils]: 1: Hoare triple {2923#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2923#true} is VALID [2020-07-17 22:08:13,656 INFO L263 TraceCheckUtils]: 2: Hoare triple {2923#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,657 INFO L280 TraceCheckUtils]: 3: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,657 INFO L280 TraceCheckUtils]: 4: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,657 INFO L280 TraceCheckUtils]: 5: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,658 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2923#true} {2923#true} #38#return; {2923#true} is VALID [2020-07-17 22:08:13,660 INFO L263 TraceCheckUtils]: 7: Hoare triple {2923#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,660 INFO L280 TraceCheckUtils]: 8: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,660 INFO L280 TraceCheckUtils]: 9: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,661 INFO L280 TraceCheckUtils]: 10: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,661 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {2923#true} {2923#true} #40#return; {2923#true} is VALID [2020-07-17 22:08:13,661 INFO L280 TraceCheckUtils]: 12: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,664 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {2923#true} {2995#(<= |applyHanoi_#in~n| 2)} #40#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,665 INFO L280 TraceCheckUtils]: 0: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,665 INFO L280 TraceCheckUtils]: 1: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,667 INFO L263 TraceCheckUtils]: 2: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,668 INFO L280 TraceCheckUtils]: 3: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,668 INFO L280 TraceCheckUtils]: 4: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,670 INFO L263 TraceCheckUtils]: 5: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,670 INFO L280 TraceCheckUtils]: 6: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,671 INFO L280 TraceCheckUtils]: 7: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,671 INFO L280 TraceCheckUtils]: 8: Hoare triple {3019#(= 0 |applyHanoi_#in~n|)} assume true; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,673 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3019#(= 0 |applyHanoi_#in~n|)} {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,675 INFO L263 TraceCheckUtils]: 10: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,675 INFO L280 TraceCheckUtils]: 11: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,675 INFO L280 TraceCheckUtils]: 12: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,675 INFO L280 TraceCheckUtils]: 13: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,677 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2923#true} {3014#(<= |applyHanoi_#in~n| 1)} #40#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,677 INFO L280 TraceCheckUtils]: 15: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} assume true; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,679 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3014#(<= |applyHanoi_#in~n| 1)} {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,682 INFO L263 TraceCheckUtils]: 17: Hoare triple {2995#(<= |applyHanoi_#in~n| 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,682 INFO L280 TraceCheckUtils]: 18: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,683 INFO L280 TraceCheckUtils]: 19: Hoare triple {2923#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2923#true} is VALID [2020-07-17 22:08:13,685 INFO L263 TraceCheckUtils]: 20: Hoare triple {2923#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,685 INFO L280 TraceCheckUtils]: 21: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,686 INFO L280 TraceCheckUtils]: 22: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,686 INFO L280 TraceCheckUtils]: 23: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,686 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2923#true} {2923#true} #38#return; {2923#true} is VALID [2020-07-17 22:08:13,688 INFO L263 TraceCheckUtils]: 25: Hoare triple {2923#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,688 INFO L280 TraceCheckUtils]: 26: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,688 INFO L280 TraceCheckUtils]: 27: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,689 INFO L280 TraceCheckUtils]: 28: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,689 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {2923#true} {2923#true} #40#return; {2923#true} is VALID [2020-07-17 22:08:13,689 INFO L280 TraceCheckUtils]: 30: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,691 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2923#true} {2995#(<= |applyHanoi_#in~n| 2)} #40#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,691 INFO L280 TraceCheckUtils]: 32: Hoare triple {2995#(<= |applyHanoi_#in~n| 2)} assume true; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,692 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {2995#(<= |applyHanoi_#in~n| 2)} {2923#true} #48#return; {2962#(<= main_~n~0 2)} is VALID [2020-07-17 22:08:13,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,782 INFO L280 TraceCheckUtils]: 0: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,783 INFO L280 TraceCheckUtils]: 1: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,784 INFO L280 TraceCheckUtils]: 2: Hoare triple {3045#(= 1 |hanoi_#in~n|)} assume true; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,785 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3045#(= 1 |hanoi_#in~n|)} {3028#(= hanoi_~n |hanoi_#in~n|)} #42#return; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,786 INFO L280 TraceCheckUtils]: 0: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,786 INFO L280 TraceCheckUtils]: 1: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,787 INFO L263 TraceCheckUtils]: 2: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {2923#true} is VALID [2020-07-17 22:08:13,788 INFO L280 TraceCheckUtils]: 3: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,788 INFO L280 TraceCheckUtils]: 4: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,789 INFO L280 TraceCheckUtils]: 5: Hoare triple {3045#(= 1 |hanoi_#in~n|)} assume true; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,790 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3045#(= 1 |hanoi_#in~n|)} {3028#(= hanoi_~n |hanoi_#in~n|)} #42#return; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,790 INFO L280 TraceCheckUtils]: 7: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,791 INFO L280 TraceCheckUtils]: 8: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume true; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,793 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3044#(<= 2 |hanoi_#in~n|)} {3028#(= hanoi_~n |hanoi_#in~n|)} #42#return; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,794 INFO L280 TraceCheckUtils]: 0: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,794 INFO L280 TraceCheckUtils]: 1: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,794 INFO L263 TraceCheckUtils]: 2: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {2923#true} is VALID [2020-07-17 22:08:13,795 INFO L280 TraceCheckUtils]: 3: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,795 INFO L280 TraceCheckUtils]: 4: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,796 INFO L263 TraceCheckUtils]: 5: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {2923#true} is VALID [2020-07-17 22:08:13,796 INFO L280 TraceCheckUtils]: 6: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,797 INFO L280 TraceCheckUtils]: 7: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,798 INFO L280 TraceCheckUtils]: 8: Hoare triple {3045#(= 1 |hanoi_#in~n|)} assume true; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,799 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3045#(= 1 |hanoi_#in~n|)} {3028#(= hanoi_~n |hanoi_#in~n|)} #42#return; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,800 INFO L280 TraceCheckUtils]: 10: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,801 INFO L280 TraceCheckUtils]: 11: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume true; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,802 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3044#(<= 2 |hanoi_#in~n|)} {3028#(= hanoi_~n |hanoi_#in~n|)} #42#return; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,803 INFO L280 TraceCheckUtils]: 13: Hoare triple {3039#(<= 3 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,803 INFO L280 TraceCheckUtils]: 14: Hoare triple {3039#(<= 3 |hanoi_#in~n|)} assume true; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,804 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {3039#(<= 3 |hanoi_#in~n|)} {2962#(<= main_~n~0 2)} #50#return; {2924#false} is VALID [2020-07-17 22:08:13,805 INFO L263 TraceCheckUtils]: 0: Hoare triple {2923#true} call ULTIMATE.init(); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,805 INFO L280 TraceCheckUtils]: 1: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {2923#true} is VALID [2020-07-17 22:08:13,805 INFO L280 TraceCheckUtils]: 2: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,806 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2923#true} {2923#true} #44#return; {2923#true} is VALID [2020-07-17 22:08:13,806 INFO L263 TraceCheckUtils]: 4: Hoare triple {2923#true} call #t~ret4 := main(); {2923#true} is VALID [2020-07-17 22:08:13,806 INFO L280 TraceCheckUtils]: 5: Hoare triple {2923#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {2923#true} is VALID [2020-07-17 22:08:13,806 INFO L280 TraceCheckUtils]: 6: Hoare triple {2923#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {2923#true} is VALID [2020-07-17 22:08:13,807 INFO L263 TraceCheckUtils]: 7: Hoare triple {2923#true} call applyHanoi(~n~0, 1, 3, 2); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,808 INFO L280 TraceCheckUtils]: 8: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,809 INFO L280 TraceCheckUtils]: 9: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,810 INFO L263 TraceCheckUtils]: 10: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,811 INFO L280 TraceCheckUtils]: 11: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,811 INFO L280 TraceCheckUtils]: 12: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,813 INFO L263 TraceCheckUtils]: 13: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,814 INFO L280 TraceCheckUtils]: 14: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,814 INFO L280 TraceCheckUtils]: 15: Hoare triple {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,815 INFO L280 TraceCheckUtils]: 16: Hoare triple {3019#(= 0 |applyHanoi_#in~n|)} assume true; {3019#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:13,817 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3019#(= 0 |applyHanoi_#in~n|)} {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,818 INFO L263 TraceCheckUtils]: 18: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,819 INFO L280 TraceCheckUtils]: 19: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,819 INFO L280 TraceCheckUtils]: 20: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,819 INFO L280 TraceCheckUtils]: 21: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,820 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2923#true} {3014#(<= |applyHanoi_#in~n| 1)} #40#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,821 INFO L280 TraceCheckUtils]: 23: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} assume true; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:13,823 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {3014#(<= |applyHanoi_#in~n| 1)} {2980#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,825 INFO L263 TraceCheckUtils]: 25: Hoare triple {2995#(<= |applyHanoi_#in~n| 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,825 INFO L280 TraceCheckUtils]: 26: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,825 INFO L280 TraceCheckUtils]: 27: Hoare triple {2923#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2923#true} is VALID [2020-07-17 22:08:13,826 INFO L263 TraceCheckUtils]: 28: Hoare triple {2923#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,827 INFO L280 TraceCheckUtils]: 29: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,827 INFO L280 TraceCheckUtils]: 30: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,827 INFO L280 TraceCheckUtils]: 31: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,827 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {2923#true} {2923#true} #38#return; {2923#true} is VALID [2020-07-17 22:08:13,829 INFO L263 TraceCheckUtils]: 33: Hoare triple {2923#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2979#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:13,829 INFO L280 TraceCheckUtils]: 34: Hoare triple {2979#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:13,829 INFO L280 TraceCheckUtils]: 35: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:13,830 INFO L280 TraceCheckUtils]: 36: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,830 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2923#true} {2923#true} #40#return; {2923#true} is VALID [2020-07-17 22:08:13,830 INFO L280 TraceCheckUtils]: 38: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:13,831 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2923#true} {2995#(<= |applyHanoi_#in~n| 2)} #40#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,832 INFO L280 TraceCheckUtils]: 40: Hoare triple {2995#(<= |applyHanoi_#in~n| 2)} assume true; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:13,833 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {2995#(<= |applyHanoi_#in~n| 2)} {2923#true} #48#return; {2962#(<= main_~n~0 2)} is VALID [2020-07-17 22:08:13,834 INFO L263 TraceCheckUtils]: 42: Hoare triple {2962#(<= main_~n~0 2)} call #t~ret3 := hanoi(~n~0); {2923#true} is VALID [2020-07-17 22:08:13,834 INFO L280 TraceCheckUtils]: 43: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,835 INFO L280 TraceCheckUtils]: 44: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,835 INFO L263 TraceCheckUtils]: 45: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {2923#true} is VALID [2020-07-17 22:08:13,835 INFO L280 TraceCheckUtils]: 46: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,836 INFO L280 TraceCheckUtils]: 47: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,836 INFO L263 TraceCheckUtils]: 48: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {2923#true} is VALID [2020-07-17 22:08:13,837 INFO L280 TraceCheckUtils]: 49: Hoare triple {2923#true} ~n := #in~n; {3028#(= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,837 INFO L280 TraceCheckUtils]: 50: Hoare triple {3028#(= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,838 INFO L280 TraceCheckUtils]: 51: Hoare triple {3045#(= 1 |hanoi_#in~n|)} assume true; {3045#(= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,839 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {3045#(= 1 |hanoi_#in~n|)} {3028#(= hanoi_~n |hanoi_#in~n|)} #42#return; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,840 INFO L280 TraceCheckUtils]: 53: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,840 INFO L280 TraceCheckUtils]: 54: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume true; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,842 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {3044#(<= 2 |hanoi_#in~n|)} {3028#(= hanoi_~n |hanoi_#in~n|)} #42#return; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,842 INFO L280 TraceCheckUtils]: 56: Hoare triple {3039#(<= 3 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,843 INFO L280 TraceCheckUtils]: 57: Hoare triple {3039#(<= 3 |hanoi_#in~n|)} assume true; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:13,844 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {3039#(<= 3 |hanoi_#in~n|)} {2962#(<= main_~n~0 2)} #50#return; {2924#false} is VALID [2020-07-17 22:08:13,844 INFO L280 TraceCheckUtils]: 59: Hoare triple {2924#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {2924#false} is VALID [2020-07-17 22:08:13,844 INFO L280 TraceCheckUtils]: 60: Hoare triple {2924#false} assume !(~result~0 == ~counter~0); {2924#false} is VALID [2020-07-17 22:08:13,844 INFO L280 TraceCheckUtils]: 61: Hoare triple {2924#false} assume !false; {2924#false} is VALID [2020-07-17 22:08:13,849 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 13 proven. 41 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2020-07-17 22:08:13,849 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [985187270] [2020-07-17 22:08:13,849 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [23241999] [2020-07-17 22:08:13,849 INFO L92 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:13,905 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2020-07-17 22:08:13,905 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:08:13,906 INFO L264 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-17 22:08:13,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:13,933 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:14,181 INFO L263 TraceCheckUtils]: 0: Hoare triple {2923#true} call ULTIMATE.init(); {2923#true} is VALID [2020-07-17 22:08:14,181 INFO L280 TraceCheckUtils]: 1: Hoare triple {2923#true} ~counter~0 := 0; {2923#true} is VALID [2020-07-17 22:08:14,181 INFO L280 TraceCheckUtils]: 2: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:14,181 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2923#true} {2923#true} #44#return; {2923#true} is VALID [2020-07-17 22:08:14,182 INFO L263 TraceCheckUtils]: 4: Hoare triple {2923#true} call #t~ret4 := main(); {2923#true} is VALID [2020-07-17 22:08:14,182 INFO L280 TraceCheckUtils]: 5: Hoare triple {2923#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {2923#true} is VALID [2020-07-17 22:08:14,182 INFO L280 TraceCheckUtils]: 6: Hoare triple {2923#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {2923#true} is VALID [2020-07-17 22:08:14,182 INFO L263 TraceCheckUtils]: 7: Hoare triple {2923#true} call applyHanoi(~n~0, 1, 3, 2); {2923#true} is VALID [2020-07-17 22:08:14,183 INFO L280 TraceCheckUtils]: 8: Hoare triple {2923#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:14,183 INFO L280 TraceCheckUtils]: 9: Hoare triple {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:14,183 INFO L263 TraceCheckUtils]: 10: Hoare triple {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2923#true} is VALID [2020-07-17 22:08:14,184 INFO L280 TraceCheckUtils]: 11: Hoare triple {2923#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:14,184 INFO L280 TraceCheckUtils]: 12: Hoare triple {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:14,184 INFO L263 TraceCheckUtils]: 13: Hoare triple {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} call applyHanoi(~n - 1, ~from, ~via, ~to); {2923#true} is VALID [2020-07-17 22:08:14,185 INFO L280 TraceCheckUtils]: 14: Hoare triple {2923#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} is VALID [2020-07-17 22:08:14,185 INFO L280 TraceCheckUtils]: 15: Hoare triple {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} assume 0 == ~n; {3095#(<= |applyHanoi_#in~n| 0)} is VALID [2020-07-17 22:08:14,185 INFO L280 TraceCheckUtils]: 16: Hoare triple {3095#(<= |applyHanoi_#in~n| 0)} assume true; {3095#(<= |applyHanoi_#in~n| 0)} is VALID [2020-07-17 22:08:14,186 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3095#(<= |applyHanoi_#in~n| 0)} {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} #38#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:14,187 INFO L263 TraceCheckUtils]: 18: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2923#true} is VALID [2020-07-17 22:08:14,187 INFO L280 TraceCheckUtils]: 19: Hoare triple {2923#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:14,187 INFO L280 TraceCheckUtils]: 20: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:14,187 INFO L280 TraceCheckUtils]: 21: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:14,188 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {2923#true} {3014#(<= |applyHanoi_#in~n| 1)} #40#return; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:14,189 INFO L280 TraceCheckUtils]: 23: Hoare triple {3014#(<= |applyHanoi_#in~n| 1)} assume true; {3014#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:14,190 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {3014#(<= |applyHanoi_#in~n| 1)} {3073#(<= |applyHanoi_#in~n| applyHanoi_~n)} #38#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:14,190 INFO L263 TraceCheckUtils]: 25: Hoare triple {2995#(<= |applyHanoi_#in~n| 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {2923#true} is VALID [2020-07-17 22:08:14,190 INFO L280 TraceCheckUtils]: 26: Hoare triple {2923#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:14,190 INFO L280 TraceCheckUtils]: 27: Hoare triple {2923#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {2923#true} is VALID [2020-07-17 22:08:14,190 INFO L263 TraceCheckUtils]: 28: Hoare triple {2923#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {2923#true} is VALID [2020-07-17 22:08:14,191 INFO L280 TraceCheckUtils]: 29: Hoare triple {2923#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:14,191 INFO L280 TraceCheckUtils]: 30: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:14,191 INFO L280 TraceCheckUtils]: 31: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:14,191 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {2923#true} {2923#true} #38#return; {2923#true} is VALID [2020-07-17 22:08:14,191 INFO L263 TraceCheckUtils]: 33: Hoare triple {2923#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {2923#true} is VALID [2020-07-17 22:08:14,191 INFO L280 TraceCheckUtils]: 34: Hoare triple {2923#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {2923#true} is VALID [2020-07-17 22:08:14,191 INFO L280 TraceCheckUtils]: 35: Hoare triple {2923#true} assume 0 == ~n; {2923#true} is VALID [2020-07-17 22:08:14,192 INFO L280 TraceCheckUtils]: 36: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:14,192 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2923#true} {2923#true} #40#return; {2923#true} is VALID [2020-07-17 22:08:14,192 INFO L280 TraceCheckUtils]: 38: Hoare triple {2923#true} assume true; {2923#true} is VALID [2020-07-17 22:08:14,197 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2923#true} {2995#(<= |applyHanoi_#in~n| 2)} #40#return; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:14,198 INFO L280 TraceCheckUtils]: 40: Hoare triple {2995#(<= |applyHanoi_#in~n| 2)} assume true; {2995#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:14,200 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {2995#(<= |applyHanoi_#in~n| 2)} {2923#true} #48#return; {2962#(<= main_~n~0 2)} is VALID [2020-07-17 22:08:14,200 INFO L263 TraceCheckUtils]: 42: Hoare triple {2962#(<= main_~n~0 2)} call #t~ret3 := hanoi(~n~0); {2923#true} is VALID [2020-07-17 22:08:14,201 INFO L280 TraceCheckUtils]: 43: Hoare triple {2923#true} ~n := #in~n; {3180#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,201 INFO L280 TraceCheckUtils]: 44: Hoare triple {3180#(<= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {3180#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,202 INFO L263 TraceCheckUtils]: 45: Hoare triple {3180#(<= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {2923#true} is VALID [2020-07-17 22:08:14,202 INFO L280 TraceCheckUtils]: 46: Hoare triple {2923#true} ~n := #in~n; {3180#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,203 INFO L280 TraceCheckUtils]: 47: Hoare triple {3180#(<= hanoi_~n |hanoi_#in~n|)} assume !(1 == ~n); {3180#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,203 INFO L263 TraceCheckUtils]: 48: Hoare triple {3180#(<= hanoi_~n |hanoi_#in~n|)} call #t~ret0 := hanoi(~n - 1); {2923#true} is VALID [2020-07-17 22:08:14,203 INFO L280 TraceCheckUtils]: 49: Hoare triple {2923#true} ~n := #in~n; {3180#(<= hanoi_~n |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,204 INFO L280 TraceCheckUtils]: 50: Hoare triple {3180#(<= hanoi_~n |hanoi_#in~n|)} assume 1 == ~n;#res := 1; {3202#(<= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,204 INFO L280 TraceCheckUtils]: 51: Hoare triple {3202#(<= 1 |hanoi_#in~n|)} assume true; {3202#(<= 1 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,206 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {3202#(<= 1 |hanoi_#in~n|)} {3180#(<= hanoi_~n |hanoi_#in~n|)} #42#return; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,206 INFO L280 TraceCheckUtils]: 53: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,207 INFO L280 TraceCheckUtils]: 54: Hoare triple {3044#(<= 2 |hanoi_#in~n|)} assume true; {3044#(<= 2 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,208 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {3044#(<= 2 |hanoi_#in~n|)} {3180#(<= hanoi_~n |hanoi_#in~n|)} #42#return; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,208 INFO L280 TraceCheckUtils]: 56: Hoare triple {3039#(<= 3 |hanoi_#in~n|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,209 INFO L280 TraceCheckUtils]: 57: Hoare triple {3039#(<= 3 |hanoi_#in~n|)} assume true; {3039#(<= 3 |hanoi_#in~n|)} is VALID [2020-07-17 22:08:14,210 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {3039#(<= 3 |hanoi_#in~n|)} {2962#(<= main_~n~0 2)} #50#return; {2924#false} is VALID [2020-07-17 22:08:14,210 INFO L280 TraceCheckUtils]: 59: Hoare triple {2924#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {2924#false} is VALID [2020-07-17 22:08:14,210 INFO L280 TraceCheckUtils]: 60: Hoare triple {2924#false} assume !(~result~0 == ~counter~0); {2924#false} is VALID [2020-07-17 22:08:14,211 INFO L280 TraceCheckUtils]: 61: Hoare triple {2924#false} assume !false; {2924#false} is VALID [2020-07-17 22:08:14,214 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 17 proven. 37 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2020-07-17 22:08:14,215 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:14,215 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 16 [2020-07-17 22:08:14,215 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1348840447] [2020-07-17 22:08:14,218 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 62 [2020-07-17 22:08:14,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:08:14,228 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-17 22:08:14,293 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:14,293 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-17 22:08:14,293 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:08:14,293 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-17 22:08:14,293 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2020-07-17 22:08:14,294 INFO L87 Difference]: Start difference. First operand 46 states and 55 transitions. Second operand 16 states. [2020-07-17 22:08:15,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:15,218 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2020-07-17 22:08:15,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-17 22:08:15,218 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 62 [2020-07-17 22:08:15,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:08:15,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-17 22:08:15,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 57 transitions. [2020-07-17 22:08:15,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-17 22:08:15,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 57 transitions. [2020-07-17 22:08:15,223 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 57 transitions. [2020-07-17 22:08:15,316 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:15,318 INFO L225 Difference]: With dead ends: 53 [2020-07-17 22:08:15,319 INFO L226 Difference]: Without dead ends: 48 [2020-07-17 22:08:15,320 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=142, Invalid=614, Unknown=0, NotChecked=0, Total=756 [2020-07-17 22:08:15,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2020-07-17 22:08:15,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2020-07-17 22:08:15,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:08:15,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 48 states. [2020-07-17 22:08:15,371 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2020-07-17 22:08:15,372 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2020-07-17 22:08:15,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:15,375 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2020-07-17 22:08:15,375 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2020-07-17 22:08:15,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:15,376 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:15,376 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2020-07-17 22:08:15,376 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2020-07-17 22:08:15,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:15,380 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2020-07-17 22:08:15,380 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2020-07-17 22:08:15,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:15,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:15,381 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:08:15,381 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:08:15,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2020-07-17 22:08:15,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 59 transitions. [2020-07-17 22:08:15,383 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 59 transitions. Word has length 62 [2020-07-17 22:08:15,384 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:08:15,384 INFO L479 AbstractCegarLoop]: Abstraction has 48 states and 59 transitions. [2020-07-17 22:08:15,384 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-17 22:08:15,384 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2020-07-17 22:08:15,385 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2020-07-17 22:08:15,385 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:08:15,385 INFO L422 BasicCegarLoop]: trace histogram [15, 15, 8, 7, 7, 7, 7, 7, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:08:15,599 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:15,600 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:08:15,601 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:08:15,601 INFO L82 PathProgramCache]: Analyzing trace with hash 542454743, now seen corresponding path program 5 times [2020-07-17 22:08:15,601 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:08:15,602 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1810696993] [2020-07-17 22:08:15,602 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:08:15,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:15,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:15,743 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {3495#true} is VALID [2020-07-17 22:08:15,744 INFO L280 TraceCheckUtils]: 1: Hoare triple {3495#true} assume true; {3495#true} is VALID [2020-07-17 22:08:15,744 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3495#true} {3495#true} #44#return; {3495#true} is VALID [2020-07-17 22:08:15,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:15,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,033 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,034 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,035 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,037 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,047 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,048 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,050 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,051 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,052 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,053 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,055 INFO L263 TraceCheckUtils]: 2: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,056 INFO L280 TraceCheckUtils]: 3: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,057 INFO L280 TraceCheckUtils]: 4: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,057 INFO L280 TraceCheckUtils]: 5: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,059 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,061 INFO L263 TraceCheckUtils]: 7: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,062 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,062 INFO L280 TraceCheckUtils]: 9: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,063 INFO L280 TraceCheckUtils]: 10: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,065 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,066 INFO L280 TraceCheckUtils]: 12: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,068 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,109 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,111 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,111 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,113 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,135 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,136 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,137 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,139 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,140 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,141 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,143 INFO L263 TraceCheckUtils]: 2: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,144 INFO L280 TraceCheckUtils]: 3: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,144 INFO L280 TraceCheckUtils]: 4: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,145 INFO L280 TraceCheckUtils]: 5: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,147 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,149 INFO L263 TraceCheckUtils]: 7: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,150 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,150 INFO L280 TraceCheckUtils]: 9: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,151 INFO L280 TraceCheckUtils]: 10: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,153 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,154 INFO L280 TraceCheckUtils]: 12: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,156 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,157 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,158 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,159 INFO L263 TraceCheckUtils]: 2: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,160 INFO L280 TraceCheckUtils]: 3: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,161 INFO L280 TraceCheckUtils]: 4: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,168 INFO L263 TraceCheckUtils]: 5: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,169 INFO L280 TraceCheckUtils]: 6: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,169 INFO L280 TraceCheckUtils]: 7: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,170 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,171 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,172 INFO L263 TraceCheckUtils]: 10: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,173 INFO L280 TraceCheckUtils]: 11: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,173 INFO L280 TraceCheckUtils]: 12: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,174 INFO L280 TraceCheckUtils]: 13: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,176 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,176 INFO L280 TraceCheckUtils]: 15: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,178 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,179 INFO L263 TraceCheckUtils]: 17: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,180 INFO L280 TraceCheckUtils]: 18: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,180 INFO L280 TraceCheckUtils]: 19: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,182 INFO L263 TraceCheckUtils]: 20: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,182 INFO L280 TraceCheckUtils]: 21: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,183 INFO L280 TraceCheckUtils]: 22: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,184 INFO L280 TraceCheckUtils]: 23: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,185 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,186 INFO L263 TraceCheckUtils]: 25: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,187 INFO L280 TraceCheckUtils]: 26: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,187 INFO L280 TraceCheckUtils]: 27: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,188 INFO L280 TraceCheckUtils]: 28: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,190 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,190 INFO L280 TraceCheckUtils]: 30: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,192 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,193 INFO L280 TraceCheckUtils]: 32: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,194 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} is VALID [2020-07-17 22:08:16,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,280 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,281 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,282 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,284 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,294 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,294 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,295 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,297 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,297 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,298 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,299 INFO L263 TraceCheckUtils]: 2: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,300 INFO L280 TraceCheckUtils]: 3: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,301 INFO L280 TraceCheckUtils]: 4: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,301 INFO L280 TraceCheckUtils]: 5: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,303 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,304 INFO L263 TraceCheckUtils]: 7: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,305 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,305 INFO L280 TraceCheckUtils]: 9: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,306 INFO L280 TraceCheckUtils]: 10: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,307 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,308 INFO L280 TraceCheckUtils]: 12: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,310 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,350 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,351 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,352 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,354 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,364 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,365 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,366 INFO L280 TraceCheckUtils]: 2: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,368 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,368 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,369 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,371 INFO L263 TraceCheckUtils]: 2: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,371 INFO L280 TraceCheckUtils]: 3: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,372 INFO L280 TraceCheckUtils]: 4: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,372 INFO L280 TraceCheckUtils]: 5: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,374 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,376 INFO L263 TraceCheckUtils]: 7: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,377 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,377 INFO L280 TraceCheckUtils]: 9: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,378 INFO L280 TraceCheckUtils]: 10: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,379 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,380 INFO L280 TraceCheckUtils]: 12: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,382 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,383 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,384 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,386 INFO L263 TraceCheckUtils]: 2: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,387 INFO L280 TraceCheckUtils]: 3: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,388 INFO L280 TraceCheckUtils]: 4: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,390 INFO L263 TraceCheckUtils]: 5: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,390 INFO L280 TraceCheckUtils]: 6: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,391 INFO L280 TraceCheckUtils]: 7: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,392 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,394 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,396 INFO L263 TraceCheckUtils]: 10: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,397 INFO L280 TraceCheckUtils]: 11: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,397 INFO L280 TraceCheckUtils]: 12: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,398 INFO L280 TraceCheckUtils]: 13: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,400 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,401 INFO L280 TraceCheckUtils]: 15: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,404 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,405 INFO L263 TraceCheckUtils]: 17: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,406 INFO L280 TraceCheckUtils]: 18: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,406 INFO L280 TraceCheckUtils]: 19: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,408 INFO L263 TraceCheckUtils]: 20: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,409 INFO L280 TraceCheckUtils]: 21: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,409 INFO L280 TraceCheckUtils]: 22: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,410 INFO L280 TraceCheckUtils]: 23: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,411 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,413 INFO L263 TraceCheckUtils]: 25: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,413 INFO L280 TraceCheckUtils]: 26: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,414 INFO L280 TraceCheckUtils]: 27: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,414 INFO L280 TraceCheckUtils]: 28: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,416 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,418 INFO L280 TraceCheckUtils]: 30: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,419 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,420 INFO L280 TraceCheckUtils]: 32: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,422 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} #40#return; {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} is VALID [2020-07-17 22:08:16,425 INFO L280 TraceCheckUtils]: 0: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,426 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,428 INFO L263 TraceCheckUtils]: 2: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,429 INFO L280 TraceCheckUtils]: 3: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,430 INFO L280 TraceCheckUtils]: 4: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,431 INFO L263 TraceCheckUtils]: 5: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,432 INFO L280 TraceCheckUtils]: 6: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,433 INFO L280 TraceCheckUtils]: 7: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,434 INFO L263 TraceCheckUtils]: 8: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,435 INFO L280 TraceCheckUtils]: 9: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,435 INFO L280 TraceCheckUtils]: 10: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,436 INFO L280 TraceCheckUtils]: 11: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,438 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,439 INFO L263 TraceCheckUtils]: 13: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,440 INFO L280 TraceCheckUtils]: 14: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,440 INFO L280 TraceCheckUtils]: 15: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,441 INFO L280 TraceCheckUtils]: 16: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,443 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,444 INFO L280 TraceCheckUtils]: 18: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,446 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,447 INFO L263 TraceCheckUtils]: 20: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,448 INFO L280 TraceCheckUtils]: 21: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,448 INFO L280 TraceCheckUtils]: 22: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,450 INFO L263 TraceCheckUtils]: 23: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,451 INFO L280 TraceCheckUtils]: 24: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,451 INFO L280 TraceCheckUtils]: 25: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,452 INFO L280 TraceCheckUtils]: 26: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,453 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,455 INFO L263 TraceCheckUtils]: 28: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,455 INFO L280 TraceCheckUtils]: 29: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,456 INFO L280 TraceCheckUtils]: 30: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,456 INFO L280 TraceCheckUtils]: 31: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,458 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,459 INFO L280 TraceCheckUtils]: 33: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,462 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,463 INFO L280 TraceCheckUtils]: 35: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,465 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} is VALID [2020-07-17 22:08:16,467 INFO L263 TraceCheckUtils]: 37: Hoare triple {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,468 INFO L280 TraceCheckUtils]: 38: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,468 INFO L280 TraceCheckUtils]: 39: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,470 INFO L263 TraceCheckUtils]: 40: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,471 INFO L280 TraceCheckUtils]: 41: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,472 INFO L280 TraceCheckUtils]: 42: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,473 INFO L263 TraceCheckUtils]: 43: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,474 INFO L280 TraceCheckUtils]: 44: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,475 INFO L280 TraceCheckUtils]: 45: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,475 INFO L280 TraceCheckUtils]: 46: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,478 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,479 INFO L263 TraceCheckUtils]: 48: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,480 INFO L280 TraceCheckUtils]: 49: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,481 INFO L280 TraceCheckUtils]: 50: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,482 INFO L280 TraceCheckUtils]: 51: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,484 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,484 INFO L280 TraceCheckUtils]: 53: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,487 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,488 INFO L263 TraceCheckUtils]: 55: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,489 INFO L280 TraceCheckUtils]: 56: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,490 INFO L280 TraceCheckUtils]: 57: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,492 INFO L263 TraceCheckUtils]: 58: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,493 INFO L280 TraceCheckUtils]: 59: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,493 INFO L280 TraceCheckUtils]: 60: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,494 INFO L280 TraceCheckUtils]: 61: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,496 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,497 INFO L263 TraceCheckUtils]: 63: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,498 INFO L280 TraceCheckUtils]: 64: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,499 INFO L280 TraceCheckUtils]: 65: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,499 INFO L280 TraceCheckUtils]: 66: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,501 INFO L275 TraceCheckUtils]: 67: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,502 INFO L280 TraceCheckUtils]: 68: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,504 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,505 INFO L280 TraceCheckUtils]: 70: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,507 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} #40#return; {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} is VALID [2020-07-17 22:08:16,508 INFO L280 TraceCheckUtils]: 72: Hoare triple {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} assume true; {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} is VALID [2020-07-17 22:08:16,509 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} {3500#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:16,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,660 INFO L280 TraceCheckUtils]: 0: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,660 INFO L280 TraceCheckUtils]: 1: Hoare triple {3495#true} assume 1 == ~n;#res := 1; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,661 INFO L280 TraceCheckUtils]: 2: Hoare triple {3774#(= 1 |hanoi_#res|)} assume true; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,662 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3774#(= 1 |hanoi_#res|)} {3495#true} #42#return; {3772#(= 1 |hanoi_#t~ret0|)} is VALID [2020-07-17 22:08:16,662 INFO L280 TraceCheckUtils]: 0: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,662 INFO L280 TraceCheckUtils]: 1: Hoare triple {3495#true} assume !(1 == ~n); {3495#true} is VALID [2020-07-17 22:08:16,663 INFO L263 TraceCheckUtils]: 2: Hoare triple {3495#true} call #t~ret0 := hanoi(~n - 1); {3495#true} is VALID [2020-07-17 22:08:16,663 INFO L280 TraceCheckUtils]: 3: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,663 INFO L280 TraceCheckUtils]: 4: Hoare triple {3495#true} assume 1 == ~n;#res := 1; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,664 INFO L280 TraceCheckUtils]: 5: Hoare triple {3774#(= 1 |hanoi_#res|)} assume true; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,665 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3774#(= 1 |hanoi_#res|)} {3495#true} #42#return; {3772#(= 1 |hanoi_#t~ret0|)} is VALID [2020-07-17 22:08:16,666 INFO L280 TraceCheckUtils]: 7: Hoare triple {3772#(= 1 |hanoi_#t~ret0|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:16,667 INFO L280 TraceCheckUtils]: 8: Hoare triple {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} assume true; {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:16,668 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} {3495#true} #42#return; {3766#(and (<= |hanoi_#t~ret0| 3) (<= 3 |hanoi_#t~ret0|))} is VALID [2020-07-17 22:08:16,669 INFO L280 TraceCheckUtils]: 0: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,669 INFO L280 TraceCheckUtils]: 1: Hoare triple {3495#true} assume !(1 == ~n); {3495#true} is VALID [2020-07-17 22:08:16,669 INFO L263 TraceCheckUtils]: 2: Hoare triple {3495#true} call #t~ret0 := hanoi(~n - 1); {3495#true} is VALID [2020-07-17 22:08:16,669 INFO L280 TraceCheckUtils]: 3: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,670 INFO L280 TraceCheckUtils]: 4: Hoare triple {3495#true} assume !(1 == ~n); {3495#true} is VALID [2020-07-17 22:08:16,670 INFO L263 TraceCheckUtils]: 5: Hoare triple {3495#true} call #t~ret0 := hanoi(~n - 1); {3495#true} is VALID [2020-07-17 22:08:16,670 INFO L280 TraceCheckUtils]: 6: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,671 INFO L280 TraceCheckUtils]: 7: Hoare triple {3495#true} assume 1 == ~n;#res := 1; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,671 INFO L280 TraceCheckUtils]: 8: Hoare triple {3774#(= 1 |hanoi_#res|)} assume true; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,672 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3774#(= 1 |hanoi_#res|)} {3495#true} #42#return; {3772#(= 1 |hanoi_#t~ret0|)} is VALID [2020-07-17 22:08:16,673 INFO L280 TraceCheckUtils]: 10: Hoare triple {3772#(= 1 |hanoi_#t~ret0|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:16,674 INFO L280 TraceCheckUtils]: 11: Hoare triple {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} assume true; {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:16,675 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} {3495#true} #42#return; {3766#(and (<= |hanoi_#t~ret0| 3) (<= 3 |hanoi_#t~ret0|))} is VALID [2020-07-17 22:08:16,676 INFO L280 TraceCheckUtils]: 13: Hoare triple {3766#(and (<= |hanoi_#t~ret0| 3) (<= 3 |hanoi_#t~ret0|))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3767#(= 7 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,677 INFO L280 TraceCheckUtils]: 14: Hoare triple {3767#(= 7 |hanoi_#res|)} assume true; {3767#(= 7 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,678 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {3767#(= 7 |hanoi_#res|)} {3575#(= ~counter~0 7)} #50#return; {3592#(= ~counter~0 |main_#t~ret3|)} is VALID [2020-07-17 22:08:16,679 INFO L263 TraceCheckUtils]: 0: Hoare triple {3495#true} call ULTIMATE.init(); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,679 INFO L280 TraceCheckUtils]: 1: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {3495#true} is VALID [2020-07-17 22:08:16,679 INFO L280 TraceCheckUtils]: 2: Hoare triple {3495#true} assume true; {3495#true} is VALID [2020-07-17 22:08:16,679 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3495#true} {3495#true} #44#return; {3495#true} is VALID [2020-07-17 22:08:16,680 INFO L263 TraceCheckUtils]: 4: Hoare triple {3495#true} call #t~ret4 := main(); {3495#true} is VALID [2020-07-17 22:08:16,680 INFO L280 TraceCheckUtils]: 5: Hoare triple {3495#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {3495#true} is VALID [2020-07-17 22:08:16,681 INFO L280 TraceCheckUtils]: 6: Hoare triple {3495#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {3500#(and (<= 0 ~counter~0) (<= ~counter~0 0))} is VALID [2020-07-17 22:08:16,682 INFO L263 TraceCheckUtils]: 7: Hoare triple {3500#(and (<= 0 ~counter~0) (<= ~counter~0 0))} call applyHanoi(~n~0, 1, 3, 2); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,683 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,683 INFO L280 TraceCheckUtils]: 9: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,685 INFO L263 TraceCheckUtils]: 10: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,686 INFO L280 TraceCheckUtils]: 11: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,687 INFO L280 TraceCheckUtils]: 12: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,688 INFO L263 TraceCheckUtils]: 13: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,689 INFO L280 TraceCheckUtils]: 14: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,690 INFO L280 TraceCheckUtils]: 15: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,691 INFO L263 TraceCheckUtils]: 16: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,692 INFO L280 TraceCheckUtils]: 17: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,693 INFO L280 TraceCheckUtils]: 18: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,693 INFO L280 TraceCheckUtils]: 19: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,695 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,697 INFO L263 TraceCheckUtils]: 21: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,697 INFO L280 TraceCheckUtils]: 22: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,698 INFO L280 TraceCheckUtils]: 23: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,698 INFO L280 TraceCheckUtils]: 24: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,700 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,701 INFO L280 TraceCheckUtils]: 26: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,703 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,704 INFO L263 TraceCheckUtils]: 28: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,705 INFO L280 TraceCheckUtils]: 29: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,706 INFO L280 TraceCheckUtils]: 30: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,707 INFO L263 TraceCheckUtils]: 31: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,707 INFO L280 TraceCheckUtils]: 32: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,708 INFO L280 TraceCheckUtils]: 33: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,708 INFO L280 TraceCheckUtils]: 34: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,710 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,712 INFO L263 TraceCheckUtils]: 36: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,712 INFO L280 TraceCheckUtils]: 37: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,713 INFO L280 TraceCheckUtils]: 38: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,713 INFO L280 TraceCheckUtils]: 39: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,715 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,716 INFO L280 TraceCheckUtils]: 41: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,718 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,719 INFO L280 TraceCheckUtils]: 43: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,720 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} is VALID [2020-07-17 22:08:16,722 INFO L263 TraceCheckUtils]: 45: Hoare triple {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,723 INFO L280 TraceCheckUtils]: 46: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,723 INFO L280 TraceCheckUtils]: 47: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,725 INFO L263 TraceCheckUtils]: 48: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,726 INFO L280 TraceCheckUtils]: 49: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,727 INFO L280 TraceCheckUtils]: 50: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,728 INFO L263 TraceCheckUtils]: 51: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,729 INFO L280 TraceCheckUtils]: 52: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,729 INFO L280 TraceCheckUtils]: 53: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,730 INFO L280 TraceCheckUtils]: 54: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,732 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,733 INFO L263 TraceCheckUtils]: 56: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,734 INFO L280 TraceCheckUtils]: 57: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,735 INFO L280 TraceCheckUtils]: 58: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,735 INFO L280 TraceCheckUtils]: 59: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,737 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,738 INFO L280 TraceCheckUtils]: 61: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,740 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:16,741 INFO L263 TraceCheckUtils]: 63: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,742 INFO L280 TraceCheckUtils]: 64: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,743 INFO L280 TraceCheckUtils]: 65: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,744 INFO L263 TraceCheckUtils]: 66: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,745 INFO L280 TraceCheckUtils]: 67: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,746 INFO L280 TraceCheckUtils]: 68: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,746 INFO L280 TraceCheckUtils]: 69: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,748 INFO L275 TraceCheckUtils]: 70: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,749 INFO L263 TraceCheckUtils]: 71: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,750 INFO L280 TraceCheckUtils]: 72: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,750 INFO L280 TraceCheckUtils]: 73: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,751 INFO L280 TraceCheckUtils]: 74: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:16,753 INFO L275 TraceCheckUtils]: 75: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,753 INFO L280 TraceCheckUtils]: 76: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:16,756 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,756 INFO L280 TraceCheckUtils]: 78: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:16,758 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} #40#return; {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} is VALID [2020-07-17 22:08:16,759 INFO L280 TraceCheckUtils]: 80: Hoare triple {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} assume true; {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} is VALID [2020-07-17 22:08:16,761 INFO L275 TraceCheckUtils]: 81: Hoare quadruple {3665#(and (or (<= (+ |old(~counter~0)| 7) ~counter~0) (< 6 ~counter~0)) (or (<= ~counter~0 7) (<= ~counter~0 (+ |old(~counter~0)| 7))))} {3500#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:16,761 INFO L263 TraceCheckUtils]: 82: Hoare triple {3575#(= ~counter~0 7)} call #t~ret3 := hanoi(~n~0); {3495#true} is VALID [2020-07-17 22:08:16,761 INFO L280 TraceCheckUtils]: 83: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,761 INFO L280 TraceCheckUtils]: 84: Hoare triple {3495#true} assume !(1 == ~n); {3495#true} is VALID [2020-07-17 22:08:16,762 INFO L263 TraceCheckUtils]: 85: Hoare triple {3495#true} call #t~ret0 := hanoi(~n - 1); {3495#true} is VALID [2020-07-17 22:08:16,762 INFO L280 TraceCheckUtils]: 86: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,762 INFO L280 TraceCheckUtils]: 87: Hoare triple {3495#true} assume !(1 == ~n); {3495#true} is VALID [2020-07-17 22:08:16,762 INFO L263 TraceCheckUtils]: 88: Hoare triple {3495#true} call #t~ret0 := hanoi(~n - 1); {3495#true} is VALID [2020-07-17 22:08:16,762 INFO L280 TraceCheckUtils]: 89: Hoare triple {3495#true} ~n := #in~n; {3495#true} is VALID [2020-07-17 22:08:16,763 INFO L280 TraceCheckUtils]: 90: Hoare triple {3495#true} assume 1 == ~n;#res := 1; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,763 INFO L280 TraceCheckUtils]: 91: Hoare triple {3774#(= 1 |hanoi_#res|)} assume true; {3774#(= 1 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,764 INFO L275 TraceCheckUtils]: 92: Hoare quadruple {3774#(= 1 |hanoi_#res|)} {3495#true} #42#return; {3772#(= 1 |hanoi_#t~ret0|)} is VALID [2020-07-17 22:08:16,765 INFO L280 TraceCheckUtils]: 93: Hoare triple {3772#(= 1 |hanoi_#t~ret0|)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:16,766 INFO L280 TraceCheckUtils]: 94: Hoare triple {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} assume true; {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:16,767 INFO L275 TraceCheckUtils]: 95: Hoare quadruple {3773#(and (<= |hanoi_#res| 3) (<= 3 |hanoi_#res|))} {3495#true} #42#return; {3766#(and (<= |hanoi_#t~ret0| 3) (<= 3 |hanoi_#t~ret0|))} is VALID [2020-07-17 22:08:16,768 INFO L280 TraceCheckUtils]: 96: Hoare triple {3766#(and (<= |hanoi_#t~ret0| 3) (<= 3 |hanoi_#t~ret0|))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {3767#(= 7 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,768 INFO L280 TraceCheckUtils]: 97: Hoare triple {3767#(= 7 |hanoi_#res|)} assume true; {3767#(= 7 |hanoi_#res|)} is VALID [2020-07-17 22:08:16,769 INFO L275 TraceCheckUtils]: 98: Hoare quadruple {3767#(= 7 |hanoi_#res|)} {3575#(= ~counter~0 7)} #50#return; {3592#(= ~counter~0 |main_#t~ret3|)} is VALID [2020-07-17 22:08:16,770 INFO L280 TraceCheckUtils]: 99: Hoare triple {3592#(= ~counter~0 |main_#t~ret3|)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {3593#(= ~counter~0 main_~result~0)} is VALID [2020-07-17 22:08:16,770 INFO L280 TraceCheckUtils]: 100: Hoare triple {3593#(= ~counter~0 main_~result~0)} assume !(~result~0 == ~counter~0); {3496#false} is VALID [2020-07-17 22:08:16,771 INFO L280 TraceCheckUtils]: 101: Hoare triple {3496#false} assume !false; {3496#false} is VALID [2020-07-17 22:08:16,785 INFO L134 CoverageAnalysis]: Checked inductivity of 476 backedges. 0 proven. 161 refuted. 0 times theorem prover too weak. 315 trivial. 0 not checked. [2020-07-17 22:08:16,785 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1810696993] [2020-07-17 22:08:16,786 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2142338189] [2020-07-17 22:08:16,786 INFO L92 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:16,867 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 12 check-sat command(s) [2020-07-17 22:08:16,867 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:08:16,871 INFO L264 TraceCheckSpWp]: Trace formula consists of 438 conjuncts, 91 conjunts are in the unsatisfiable core [2020-07-17 22:08:16,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:16,901 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:17,683 INFO L263 TraceCheckUtils]: 0: Hoare triple {3495#true} call ULTIMATE.init(); {3495#true} is VALID [2020-07-17 22:08:17,683 INFO L280 TraceCheckUtils]: 1: Hoare triple {3495#true} ~counter~0 := 0; {3495#true} is VALID [2020-07-17 22:08:17,683 INFO L280 TraceCheckUtils]: 2: Hoare triple {3495#true} assume true; {3495#true} is VALID [2020-07-17 22:08:17,684 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3495#true} {3495#true} #44#return; {3495#true} is VALID [2020-07-17 22:08:17,684 INFO L263 TraceCheckUtils]: 4: Hoare triple {3495#true} call #t~ret4 := main(); {3495#true} is VALID [2020-07-17 22:08:17,684 INFO L280 TraceCheckUtils]: 5: Hoare triple {3495#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {3495#true} is VALID [2020-07-17 22:08:17,685 INFO L280 TraceCheckUtils]: 6: Hoare triple {3495#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {3500#(and (<= 0 ~counter~0) (<= ~counter~0 0))} is VALID [2020-07-17 22:08:17,686 INFO L263 TraceCheckUtils]: 7: Hoare triple {3500#(and (<= 0 ~counter~0) (<= ~counter~0 0))} call applyHanoi(~n~0, 1, 3, 2); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,687 INFO L280 TraceCheckUtils]: 8: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,688 INFO L280 TraceCheckUtils]: 9: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,689 INFO L263 TraceCheckUtils]: 10: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,689 INFO L280 TraceCheckUtils]: 11: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,689 INFO L280 TraceCheckUtils]: 12: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,690 INFO L263 TraceCheckUtils]: 13: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,691 INFO L280 TraceCheckUtils]: 14: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,699 INFO L280 TraceCheckUtils]: 15: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,701 INFO L263 TraceCheckUtils]: 16: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,702 INFO L280 TraceCheckUtils]: 17: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,702 INFO L280 TraceCheckUtils]: 18: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,703 INFO L280 TraceCheckUtils]: 19: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,704 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,705 INFO L263 TraceCheckUtils]: 21: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,706 INFO L280 TraceCheckUtils]: 22: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,707 INFO L280 TraceCheckUtils]: 23: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,707 INFO L280 TraceCheckUtils]: 24: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,708 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,709 INFO L280 TraceCheckUtils]: 26: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,711 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:17,712 INFO L263 TraceCheckUtils]: 28: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,713 INFO L280 TraceCheckUtils]: 29: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,713 INFO L280 TraceCheckUtils]: 30: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,714 INFO L263 TraceCheckUtils]: 31: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,715 INFO L280 TraceCheckUtils]: 32: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,715 INFO L280 TraceCheckUtils]: 33: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,716 INFO L280 TraceCheckUtils]: 34: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,717 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,719 INFO L263 TraceCheckUtils]: 36: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,719 INFO L280 TraceCheckUtils]: 37: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,720 INFO L280 TraceCheckUtils]: 38: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,720 INFO L280 TraceCheckUtils]: 39: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,722 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,722 INFO L280 TraceCheckUtils]: 41: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,724 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:17,725 INFO L280 TraceCheckUtils]: 43: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:17,726 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} is VALID [2020-07-17 22:08:17,727 INFO L263 TraceCheckUtils]: 45: Hoare triple {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,728 INFO L280 TraceCheckUtils]: 46: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,729 INFO L280 TraceCheckUtils]: 47: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,730 INFO L263 TraceCheckUtils]: 48: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,730 INFO L280 TraceCheckUtils]: 49: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,731 INFO L280 TraceCheckUtils]: 50: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,732 INFO L263 TraceCheckUtils]: 51: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,733 INFO L280 TraceCheckUtils]: 52: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,733 INFO L280 TraceCheckUtils]: 53: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,734 INFO L280 TraceCheckUtils]: 54: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,735 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,736 INFO L263 TraceCheckUtils]: 56: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,736 INFO L280 TraceCheckUtils]: 57: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,737 INFO L280 TraceCheckUtils]: 58: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,737 INFO L280 TraceCheckUtils]: 59: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,739 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,739 INFO L280 TraceCheckUtils]: 61: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,741 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} is VALID [2020-07-17 22:08:17,742 INFO L263 TraceCheckUtils]: 63: Hoare triple {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,743 INFO L280 TraceCheckUtils]: 64: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,744 INFO L280 TraceCheckUtils]: 65: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,745 INFO L263 TraceCheckUtils]: 66: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~from, ~via, ~to); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,745 INFO L280 TraceCheckUtils]: 67: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,746 INFO L280 TraceCheckUtils]: 68: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,746 INFO L280 TraceCheckUtils]: 69: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,748 INFO L275 TraceCheckUtils]: 70: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #38#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,750 INFO L263 TraceCheckUtils]: 71: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} call applyHanoi(~n - 1, ~via, ~to, ~from); {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,750 INFO L280 TraceCheckUtils]: 72: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,751 INFO L280 TraceCheckUtils]: 73: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume 0 == ~n; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,751 INFO L280 TraceCheckUtils]: 74: Hoare triple {3594#(= ~counter~0 |old(~counter~0)|)} assume true; {3594#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:17,753 INFO L275 TraceCheckUtils]: 75: Hoare quadruple {3594#(= ~counter~0 |old(~counter~0)|)} {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} #40#return; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,754 INFO L280 TraceCheckUtils]: 76: Hoare triple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} assume true; {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} is VALID [2020-07-17 22:08:17,756 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {3595#(and (<= ~counter~0 (+ |old(~counter~0)| 1)) (<= (+ |old(~counter~0)| 1) ~counter~0))} {3680#(and (<= (+ |old(~counter~0)| 2) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 2)))} #40#return; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:17,756 INFO L280 TraceCheckUtils]: 78: Hoare triple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} assume true; {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} is VALID [2020-07-17 22:08:17,758 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {3695#(and (<= (+ |old(~counter~0)| 3) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 3)))} {3630#(and (<= (+ |old(~counter~0)| 4) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 4)))} #40#return; {4015#(and (<= (+ |old(~counter~0)| 7) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 7)))} is VALID [2020-07-17 22:08:17,759 INFO L280 TraceCheckUtils]: 80: Hoare triple {4015#(and (<= (+ |old(~counter~0)| 7) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 7)))} assume true; {4015#(and (<= (+ |old(~counter~0)| 7) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 7)))} is VALID [2020-07-17 22:08:17,760 INFO L275 TraceCheckUtils]: 81: Hoare quadruple {4015#(and (<= (+ |old(~counter~0)| 7) ~counter~0) (<= ~counter~0 (+ |old(~counter~0)| 7)))} {3500#(and (<= 0 ~counter~0) (<= ~counter~0 0))} #48#return; {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,761 INFO L263 TraceCheckUtils]: 82: Hoare triple {3575#(= ~counter~0 7)} call #t~ret3 := hanoi(~n~0); {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,761 INFO L280 TraceCheckUtils]: 83: Hoare triple {3575#(= ~counter~0 7)} ~n := #in~n; {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,761 INFO L280 TraceCheckUtils]: 84: Hoare triple {3575#(= ~counter~0 7)} assume !(1 == ~n); {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,762 INFO L263 TraceCheckUtils]: 85: Hoare triple {3575#(= ~counter~0 7)} call #t~ret0 := hanoi(~n - 1); {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,763 INFO L280 TraceCheckUtils]: 86: Hoare triple {3575#(= ~counter~0 7)} ~n := #in~n; {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,763 INFO L280 TraceCheckUtils]: 87: Hoare triple {3575#(= ~counter~0 7)} assume !(1 == ~n); {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,764 INFO L263 TraceCheckUtils]: 88: Hoare triple {3575#(= ~counter~0 7)} call #t~ret0 := hanoi(~n - 1); {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,764 INFO L280 TraceCheckUtils]: 89: Hoare triple {3575#(= ~counter~0 7)} ~n := #in~n; {3575#(= ~counter~0 7)} is VALID [2020-07-17 22:08:17,765 INFO L280 TraceCheckUtils]: 90: Hoare triple {3575#(= ~counter~0 7)} assume 1 == ~n;#res := 1; {4049#(and (= 1 |hanoi_#res|) (= ~counter~0 7))} is VALID [2020-07-17 22:08:17,765 INFO L280 TraceCheckUtils]: 91: Hoare triple {4049#(and (= 1 |hanoi_#res|) (= ~counter~0 7))} assume true; {4049#(and (= 1 |hanoi_#res|) (= ~counter~0 7))} is VALID [2020-07-17 22:08:17,766 INFO L275 TraceCheckUtils]: 92: Hoare quadruple {4049#(and (= 1 |hanoi_#res|) (= ~counter~0 7))} {3575#(= ~counter~0 7)} #42#return; {4056#(and (= ~counter~0 7) (= 1 |hanoi_#t~ret0|))} is VALID [2020-07-17 22:08:17,766 INFO L280 TraceCheckUtils]: 93: Hoare triple {4056#(and (= ~counter~0 7) (= 1 |hanoi_#t~ret0|))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {4060#(and (= ~counter~0 7) (= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:17,767 INFO L280 TraceCheckUtils]: 94: Hoare triple {4060#(and (= ~counter~0 7) (= 3 |hanoi_#res|))} assume true; {4060#(and (= ~counter~0 7) (= 3 |hanoi_#res|))} is VALID [2020-07-17 22:08:17,768 INFO L275 TraceCheckUtils]: 95: Hoare quadruple {4060#(and (= ~counter~0 7) (= 3 |hanoi_#res|))} {3575#(= ~counter~0 7)} #42#return; {4067#(and (= 3 |hanoi_#t~ret0|) (= ~counter~0 7))} is VALID [2020-07-17 22:08:17,769 INFO L280 TraceCheckUtils]: 96: Hoare triple {4067#(and (= 3 |hanoi_#t~ret0|) (= ~counter~0 7))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {4071#(and (= 7 |hanoi_#res|) (= ~counter~0 7))} is VALID [2020-07-17 22:08:17,770 INFO L280 TraceCheckUtils]: 97: Hoare triple {4071#(and (= 7 |hanoi_#res|) (= ~counter~0 7))} assume true; {4071#(and (= 7 |hanoi_#res|) (= ~counter~0 7))} is VALID [2020-07-17 22:08:17,771 INFO L275 TraceCheckUtils]: 98: Hoare quadruple {4071#(and (= 7 |hanoi_#res|) (= ~counter~0 7))} {3575#(= ~counter~0 7)} #50#return; {4078#(and (= 7 |main_#t~ret3|) (= ~counter~0 7))} is VALID [2020-07-17 22:08:17,772 INFO L280 TraceCheckUtils]: 99: Hoare triple {4078#(and (= 7 |main_#t~ret3|) (= ~counter~0 7))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {4082#(and (= 7 main_~result~0) (= ~counter~0 7))} is VALID [2020-07-17 22:08:17,773 INFO L280 TraceCheckUtils]: 100: Hoare triple {4082#(and (= 7 main_~result~0) (= ~counter~0 7))} assume !(~result~0 == ~counter~0); {3496#false} is VALID [2020-07-17 22:08:17,773 INFO L280 TraceCheckUtils]: 101: Hoare triple {3496#false} assume !false; {3496#false} is VALID [2020-07-17 22:08:17,785 INFO L134 CoverageAnalysis]: Checked inductivity of 476 backedges. 0 proven. 161 refuted. 0 times theorem prover too weak. 315 trivial. 0 not checked. [2020-07-17 22:08:17,786 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:17,786 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 25 [2020-07-17 22:08:17,786 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [142039662] [2020-07-17 22:08:17,787 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 102 [2020-07-17 22:08:17,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:08:17,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2020-07-17 22:08:17,876 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:17,877 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2020-07-17 22:08:17,877 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:08:17,877 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2020-07-17 22:08:17,878 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=530, Unknown=0, NotChecked=0, Total=600 [2020-07-17 22:08:17,878 INFO L87 Difference]: Start difference. First operand 48 states and 59 transitions. Second operand 25 states. [2020-07-17 22:08:20,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:20,796 INFO L93 Difference]: Finished difference Result 79 states and 98 transitions. [2020-07-17 22:08:20,796 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2020-07-17 22:08:20,796 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 102 [2020-07-17 22:08:20,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:08:20,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2020-07-17 22:08:20,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 83 transitions. [2020-07-17 22:08:20,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2020-07-17 22:08:20,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 83 transitions. [2020-07-17 22:08:20,808 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 83 transitions. [2020-07-17 22:08:20,972 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:08:20,975 INFO L225 Difference]: With dead ends: 79 [2020-07-17 22:08:20,975 INFO L226 Difference]: Without dead ends: 75 [2020-07-17 22:08:20,977 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 141 SyntacticMatches, 9 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 253 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=165, Invalid=1395, Unknown=0, NotChecked=0, Total=1560 [2020-07-17 22:08:20,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2020-07-17 22:08:21,062 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 66. [2020-07-17 22:08:21,062 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:08:21,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 66 states. [2020-07-17 22:08:21,063 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 66 states. [2020-07-17 22:08:21,063 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 66 states. [2020-07-17 22:08:21,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:21,068 INFO L93 Difference]: Finished difference Result 75 states and 94 transitions. [2020-07-17 22:08:21,069 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 94 transitions. [2020-07-17 22:08:21,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:21,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:21,069 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 75 states. [2020-07-17 22:08:21,070 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 75 states. [2020-07-17 22:08:21,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:08:21,075 INFO L93 Difference]: Finished difference Result 75 states and 94 transitions. [2020-07-17 22:08:21,075 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 94 transitions. [2020-07-17 22:08:21,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:08:21,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:08:21,076 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:08:21,076 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:08:21,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2020-07-17 22:08:21,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 85 transitions. [2020-07-17 22:08:21,082 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 85 transitions. Word has length 102 [2020-07-17 22:08:21,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:08:21,083 INFO L479 AbstractCegarLoop]: Abstraction has 66 states and 85 transitions. [2020-07-17 22:08:21,083 INFO L480 AbstractCegarLoop]: Interpolant automaton has 25 states. [2020-07-17 22:08:21,083 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 85 transitions. [2020-07-17 22:08:21,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 143 [2020-07-17 22:08:21,085 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:08:21,085 INFO L422 BasicCegarLoop]: trace histogram [23, 23, 12, 11, 11, 11, 11, 11, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:08:21,298 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:21,300 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:08:21,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:08:21,300 INFO L82 PathProgramCache]: Analyzing trace with hash 589762519, now seen corresponding path program 6 times [2020-07-17 22:08:21,300 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:08:21,301 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1426543179] [2020-07-17 22:08:21,301 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:08:21,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,383 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {4462#true} is VALID [2020-07-17 22:08:21,383 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,384 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4462#true} {4462#true} #44#return; {4462#true} is VALID [2020-07-17 22:08:21,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,517 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,518 INFO L280 TraceCheckUtils]: 1: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,519 INFO L280 TraceCheckUtils]: 2: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,521 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,527 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,527 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,527 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,528 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4741#(<= |applyHanoi_#in~n| 1)} #40#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,529 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,530 INFO L280 TraceCheckUtils]: 1: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,532 INFO L263 TraceCheckUtils]: 2: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,532 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,534 INFO L280 TraceCheckUtils]: 4: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,534 INFO L280 TraceCheckUtils]: 5: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,536 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,538 INFO L263 TraceCheckUtils]: 7: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,539 INFO L280 TraceCheckUtils]: 8: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,539 INFO L280 TraceCheckUtils]: 9: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,540 INFO L280 TraceCheckUtils]: 10: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,541 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {4462#true} {4741#(<= |applyHanoi_#in~n| 1)} #40#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,542 INFO L280 TraceCheckUtils]: 12: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} assume true; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,544 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4741#(<= |applyHanoi_#in~n| 1)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,556 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,557 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,557 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,557 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,561 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,562 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,562 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,562 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,563 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,563 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,565 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,565 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,566 INFO L280 TraceCheckUtils]: 4: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,566 INFO L280 TraceCheckUtils]: 5: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,566 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,568 INFO L263 TraceCheckUtils]: 7: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,569 INFO L280 TraceCheckUtils]: 8: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,569 INFO L280 TraceCheckUtils]: 9: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,569 INFO L280 TraceCheckUtils]: 10: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,570 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,570 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,572 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4462#true} {4722#(<= |applyHanoi_#in~n| 2)} #40#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,573 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,574 INFO L280 TraceCheckUtils]: 1: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,575 INFO L263 TraceCheckUtils]: 2: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,576 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,577 INFO L280 TraceCheckUtils]: 4: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,579 INFO L263 TraceCheckUtils]: 5: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,580 INFO L280 TraceCheckUtils]: 6: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,580 INFO L280 TraceCheckUtils]: 7: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,581 INFO L280 TraceCheckUtils]: 8: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,582 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,584 INFO L263 TraceCheckUtils]: 10: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,584 INFO L280 TraceCheckUtils]: 11: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,585 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,585 INFO L280 TraceCheckUtils]: 13: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,587 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4462#true} {4741#(<= |applyHanoi_#in~n| 1)} #40#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,588 INFO L280 TraceCheckUtils]: 15: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} assume true; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,590 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4741#(<= |applyHanoi_#in~n| 1)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,592 INFO L263 TraceCheckUtils]: 17: Hoare triple {4722#(<= |applyHanoi_#in~n| 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,592 INFO L280 TraceCheckUtils]: 18: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,592 INFO L280 TraceCheckUtils]: 19: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,594 INFO L263 TraceCheckUtils]: 20: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,594 INFO L280 TraceCheckUtils]: 21: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,595 INFO L280 TraceCheckUtils]: 22: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,595 INFO L280 TraceCheckUtils]: 23: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,595 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,597 INFO L263 TraceCheckUtils]: 25: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,598 INFO L280 TraceCheckUtils]: 26: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,598 INFO L280 TraceCheckUtils]: 27: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,598 INFO L280 TraceCheckUtils]: 28: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,599 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,599 INFO L280 TraceCheckUtils]: 30: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,600 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4462#true} {4722#(<= |applyHanoi_#in~n| 2)} #40#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,601 INFO L280 TraceCheckUtils]: 32: Hoare triple {4722#(<= |applyHanoi_#in~n| 2)} assume true; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,603 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {4722#(<= |applyHanoi_#in~n| 2)} {4462#true} #38#return; {4632#(<= applyHanoi_~n 3)} is VALID [2020-07-17 22:08:21,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,751 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,752 INFO L280 TraceCheckUtils]: 1: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,752 INFO L280 TraceCheckUtils]: 2: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,754 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,760 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,760 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,761 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,762 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4857#(<= 1 |applyHanoi_#in~n|)} #40#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,763 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,763 INFO L280 TraceCheckUtils]: 1: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,765 INFO L263 TraceCheckUtils]: 2: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,765 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,766 INFO L280 TraceCheckUtils]: 4: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,766 INFO L280 TraceCheckUtils]: 5: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,768 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,769 INFO L263 TraceCheckUtils]: 7: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,769 INFO L280 TraceCheckUtils]: 8: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,770 INFO L280 TraceCheckUtils]: 9: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,770 INFO L280 TraceCheckUtils]: 10: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,771 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {4462#true} {4857#(<= 1 |applyHanoi_#in~n|)} #40#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,771 INFO L280 TraceCheckUtils]: 12: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} assume true; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,773 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4857#(<= 1 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,784 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,784 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,785 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,785 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,790 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,791 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,791 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,791 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,791 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,792 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,793 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,794 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,794 INFO L280 TraceCheckUtils]: 4: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,794 INFO L280 TraceCheckUtils]: 5: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,794 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,795 INFO L263 TraceCheckUtils]: 7: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,796 INFO L280 TraceCheckUtils]: 8: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,796 INFO L280 TraceCheckUtils]: 9: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,796 INFO L280 TraceCheckUtils]: 10: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,796 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,797 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,798 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4462#true} {4838#(<= 2 |applyHanoi_#in~n|)} #40#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,799 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,799 INFO L280 TraceCheckUtils]: 1: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,801 INFO L263 TraceCheckUtils]: 2: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,801 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,802 INFO L280 TraceCheckUtils]: 4: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,803 INFO L263 TraceCheckUtils]: 5: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,803 INFO L280 TraceCheckUtils]: 6: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,804 INFO L280 TraceCheckUtils]: 7: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,804 INFO L280 TraceCheckUtils]: 8: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,806 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,807 INFO L263 TraceCheckUtils]: 10: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,807 INFO L280 TraceCheckUtils]: 11: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,808 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,808 INFO L280 TraceCheckUtils]: 13: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,809 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4462#true} {4857#(<= 1 |applyHanoi_#in~n|)} #40#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,810 INFO L280 TraceCheckUtils]: 15: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} assume true; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,811 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4857#(<= 1 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,812 INFO L263 TraceCheckUtils]: 17: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,813 INFO L280 TraceCheckUtils]: 18: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,813 INFO L280 TraceCheckUtils]: 19: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,814 INFO L263 TraceCheckUtils]: 20: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,814 INFO L280 TraceCheckUtils]: 21: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,814 INFO L280 TraceCheckUtils]: 22: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,815 INFO L280 TraceCheckUtils]: 23: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,815 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,816 INFO L263 TraceCheckUtils]: 25: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,816 INFO L280 TraceCheckUtils]: 26: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,817 INFO L280 TraceCheckUtils]: 27: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,817 INFO L280 TraceCheckUtils]: 28: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,817 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,817 INFO L280 TraceCheckUtils]: 30: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,818 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4462#true} {4838#(<= 2 |applyHanoi_#in~n|)} #40#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,819 INFO L280 TraceCheckUtils]: 32: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} assume true; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,821 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {4838#(<= 2 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,849 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,850 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,850 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,850 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,854 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,854 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,854 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,855 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,855 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,855 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,856 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,857 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,857 INFO L280 TraceCheckUtils]: 4: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,857 INFO L280 TraceCheckUtils]: 5: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,857 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,859 INFO L263 TraceCheckUtils]: 7: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,859 INFO L280 TraceCheckUtils]: 8: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,860 INFO L280 TraceCheckUtils]: 9: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,860 INFO L280 TraceCheckUtils]: 10: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,860 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,860 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,860 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,869 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,869 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,869 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,870 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:21,874 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,874 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,874 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,874 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,875 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,875 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,876 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,877 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,877 INFO L280 TraceCheckUtils]: 4: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,877 INFO L280 TraceCheckUtils]: 5: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,877 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,879 INFO L263 TraceCheckUtils]: 7: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,880 INFO L280 TraceCheckUtils]: 8: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,880 INFO L280 TraceCheckUtils]: 9: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,880 INFO L280 TraceCheckUtils]: 10: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,880 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,881 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,881 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,882 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,882 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,883 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,883 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,884 INFO L280 TraceCheckUtils]: 4: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,888 INFO L263 TraceCheckUtils]: 5: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,889 INFO L280 TraceCheckUtils]: 6: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,889 INFO L280 TraceCheckUtils]: 7: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,889 INFO L280 TraceCheckUtils]: 8: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,889 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,892 INFO L263 TraceCheckUtils]: 10: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,893 INFO L280 TraceCheckUtils]: 11: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,893 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,893 INFO L280 TraceCheckUtils]: 13: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,893 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,893 INFO L280 TraceCheckUtils]: 15: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,894 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,895 INFO L263 TraceCheckUtils]: 17: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,896 INFO L280 TraceCheckUtils]: 18: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,896 INFO L280 TraceCheckUtils]: 19: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,898 INFO L263 TraceCheckUtils]: 20: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,899 INFO L280 TraceCheckUtils]: 21: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,899 INFO L280 TraceCheckUtils]: 22: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,899 INFO L280 TraceCheckUtils]: 23: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,899 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,901 INFO L263 TraceCheckUtils]: 25: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,902 INFO L280 TraceCheckUtils]: 26: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,902 INFO L280 TraceCheckUtils]: 27: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,902 INFO L280 TraceCheckUtils]: 28: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,902 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,902 INFO L280 TraceCheckUtils]: 30: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,903 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,903 INFO L280 TraceCheckUtils]: 32: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,904 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {4462#true} {4789#(<= 3 |applyHanoi_#in~n|)} #40#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,906 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,907 INFO L280 TraceCheckUtils]: 1: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,909 INFO L263 TraceCheckUtils]: 2: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,909 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,910 INFO L280 TraceCheckUtils]: 4: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,911 INFO L263 TraceCheckUtils]: 5: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,912 INFO L280 TraceCheckUtils]: 6: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,913 INFO L280 TraceCheckUtils]: 7: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,914 INFO L263 TraceCheckUtils]: 8: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,915 INFO L280 TraceCheckUtils]: 9: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,915 INFO L280 TraceCheckUtils]: 10: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,916 INFO L280 TraceCheckUtils]: 11: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,917 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,918 INFO L263 TraceCheckUtils]: 13: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,919 INFO L280 TraceCheckUtils]: 14: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,919 INFO L280 TraceCheckUtils]: 15: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,919 INFO L280 TraceCheckUtils]: 16: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,920 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4462#true} {4857#(<= 1 |applyHanoi_#in~n|)} #40#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,921 INFO L280 TraceCheckUtils]: 18: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} assume true; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,922 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {4857#(<= 1 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,924 INFO L263 TraceCheckUtils]: 20: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,924 INFO L280 TraceCheckUtils]: 21: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,925 INFO L280 TraceCheckUtils]: 22: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,926 INFO L263 TraceCheckUtils]: 23: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,926 INFO L280 TraceCheckUtils]: 24: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,926 INFO L280 TraceCheckUtils]: 25: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,926 INFO L280 TraceCheckUtils]: 26: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,927 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,928 INFO L263 TraceCheckUtils]: 28: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,928 INFO L280 TraceCheckUtils]: 29: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,929 INFO L280 TraceCheckUtils]: 30: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,929 INFO L280 TraceCheckUtils]: 31: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,929 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,929 INFO L280 TraceCheckUtils]: 33: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,931 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {4462#true} {4838#(<= 2 |applyHanoi_#in~n|)} #40#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,931 INFO L280 TraceCheckUtils]: 35: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} assume true; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,933 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {4838#(<= 2 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,935 INFO L263 TraceCheckUtils]: 37: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,935 INFO L280 TraceCheckUtils]: 38: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,935 INFO L280 TraceCheckUtils]: 39: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,936 INFO L263 TraceCheckUtils]: 40: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,937 INFO L280 TraceCheckUtils]: 41: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,937 INFO L280 TraceCheckUtils]: 42: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,938 INFO L263 TraceCheckUtils]: 43: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,938 INFO L280 TraceCheckUtils]: 44: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,939 INFO L280 TraceCheckUtils]: 45: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,939 INFO L280 TraceCheckUtils]: 46: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,939 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,940 INFO L263 TraceCheckUtils]: 48: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,940 INFO L280 TraceCheckUtils]: 49: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,941 INFO L280 TraceCheckUtils]: 50: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,941 INFO L280 TraceCheckUtils]: 51: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,941 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,941 INFO L280 TraceCheckUtils]: 53: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,941 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,943 INFO L263 TraceCheckUtils]: 55: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,943 INFO L280 TraceCheckUtils]: 56: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,943 INFO L280 TraceCheckUtils]: 57: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,944 INFO L263 TraceCheckUtils]: 58: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,945 INFO L280 TraceCheckUtils]: 59: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,945 INFO L280 TraceCheckUtils]: 60: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,945 INFO L280 TraceCheckUtils]: 61: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,945 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,946 INFO L263 TraceCheckUtils]: 63: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,947 INFO L280 TraceCheckUtils]: 64: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,947 INFO L280 TraceCheckUtils]: 65: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,947 INFO L280 TraceCheckUtils]: 66: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,948 INFO L275 TraceCheckUtils]: 67: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,948 INFO L280 TraceCheckUtils]: 68: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,948 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,948 INFO L280 TraceCheckUtils]: 70: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,949 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {4462#true} {4789#(<= 3 |applyHanoi_#in~n|)} #40#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,950 INFO L280 TraceCheckUtils]: 72: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} assume true; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,952 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4789#(<= 3 |applyHanoi_#in~n|)} {4632#(<= applyHanoi_~n 3)} #40#return; {4463#false} is VALID [2020-07-17 22:08:21,958 INFO L280 TraceCheckUtils]: 0: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,958 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,960 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,960 INFO L280 TraceCheckUtils]: 3: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,961 INFO L280 TraceCheckUtils]: 4: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,962 INFO L263 TraceCheckUtils]: 5: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,963 INFO L280 TraceCheckUtils]: 6: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,963 INFO L280 TraceCheckUtils]: 7: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,965 INFO L263 TraceCheckUtils]: 8: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,965 INFO L280 TraceCheckUtils]: 9: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,966 INFO L280 TraceCheckUtils]: 10: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,966 INFO L280 TraceCheckUtils]: 11: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,968 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,970 INFO L263 TraceCheckUtils]: 13: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,970 INFO L280 TraceCheckUtils]: 14: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,970 INFO L280 TraceCheckUtils]: 15: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,971 INFO L280 TraceCheckUtils]: 16: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,972 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4462#true} {4741#(<= |applyHanoi_#in~n| 1)} #40#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,973 INFO L280 TraceCheckUtils]: 18: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} assume true; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:21,975 INFO L275 TraceCheckUtils]: 19: Hoare quadruple {4741#(<= |applyHanoi_#in~n| 1)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,976 INFO L263 TraceCheckUtils]: 20: Hoare triple {4722#(<= |applyHanoi_#in~n| 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,976 INFO L280 TraceCheckUtils]: 21: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,977 INFO L280 TraceCheckUtils]: 22: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:21,979 INFO L263 TraceCheckUtils]: 23: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,979 INFO L280 TraceCheckUtils]: 24: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,979 INFO L280 TraceCheckUtils]: 25: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,980 INFO L280 TraceCheckUtils]: 26: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,980 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:21,982 INFO L263 TraceCheckUtils]: 28: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,982 INFO L280 TraceCheckUtils]: 29: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:21,982 INFO L280 TraceCheckUtils]: 30: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:21,983 INFO L280 TraceCheckUtils]: 31: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,983 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:21,983 INFO L280 TraceCheckUtils]: 33: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:21,985 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {4462#true} {4722#(<= |applyHanoi_#in~n| 2)} #40#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,985 INFO L280 TraceCheckUtils]: 35: Hoare triple {4722#(<= |applyHanoi_#in~n| 2)} assume true; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:21,987 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {4722#(<= |applyHanoi_#in~n| 2)} {4462#true} #38#return; {4632#(<= applyHanoi_~n 3)} is VALID [2020-07-17 22:08:21,988 INFO L263 TraceCheckUtils]: 37: Hoare triple {4632#(<= applyHanoi_~n 3)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,989 INFO L280 TraceCheckUtils]: 38: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,990 INFO L280 TraceCheckUtils]: 39: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,991 INFO L263 TraceCheckUtils]: 40: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,992 INFO L280 TraceCheckUtils]: 41: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,992 INFO L280 TraceCheckUtils]: 42: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,994 INFO L263 TraceCheckUtils]: 43: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,995 INFO L280 TraceCheckUtils]: 44: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,995 INFO L280 TraceCheckUtils]: 45: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,997 INFO L263 TraceCheckUtils]: 46: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:21,998 INFO L280 TraceCheckUtils]: 47: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,998 INFO L280 TraceCheckUtils]: 48: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:21,999 INFO L280 TraceCheckUtils]: 49: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,000 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,002 INFO L263 TraceCheckUtils]: 51: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,002 INFO L280 TraceCheckUtils]: 52: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,002 INFO L280 TraceCheckUtils]: 53: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,002 INFO L280 TraceCheckUtils]: 54: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,004 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {4462#true} {4857#(<= 1 |applyHanoi_#in~n|)} #40#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,005 INFO L280 TraceCheckUtils]: 56: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} assume true; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,007 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {4857#(<= 1 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,008 INFO L263 TraceCheckUtils]: 58: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,009 INFO L280 TraceCheckUtils]: 59: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,009 INFO L280 TraceCheckUtils]: 60: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,010 INFO L263 TraceCheckUtils]: 61: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,011 INFO L280 TraceCheckUtils]: 62: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,011 INFO L280 TraceCheckUtils]: 63: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,011 INFO L280 TraceCheckUtils]: 64: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,011 INFO L275 TraceCheckUtils]: 65: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,012 INFO L263 TraceCheckUtils]: 66: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,013 INFO L280 TraceCheckUtils]: 67: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,013 INFO L280 TraceCheckUtils]: 68: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,013 INFO L280 TraceCheckUtils]: 69: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,013 INFO L275 TraceCheckUtils]: 70: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,014 INFO L280 TraceCheckUtils]: 71: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,015 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {4462#true} {4838#(<= 2 |applyHanoi_#in~n|)} #40#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,015 INFO L280 TraceCheckUtils]: 73: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} assume true; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,017 INFO L275 TraceCheckUtils]: 74: Hoare quadruple {4838#(<= 2 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,018 INFO L263 TraceCheckUtils]: 75: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,019 INFO L280 TraceCheckUtils]: 76: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,019 INFO L280 TraceCheckUtils]: 77: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,020 INFO L263 TraceCheckUtils]: 78: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,020 INFO L280 TraceCheckUtils]: 79: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,021 INFO L280 TraceCheckUtils]: 80: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,022 INFO L263 TraceCheckUtils]: 81: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,023 INFO L280 TraceCheckUtils]: 82: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,023 INFO L280 TraceCheckUtils]: 83: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,023 INFO L280 TraceCheckUtils]: 84: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,023 INFO L275 TraceCheckUtils]: 85: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,024 INFO L263 TraceCheckUtils]: 86: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,025 INFO L280 TraceCheckUtils]: 87: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,025 INFO L280 TraceCheckUtils]: 88: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,025 INFO L280 TraceCheckUtils]: 89: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,025 INFO L275 TraceCheckUtils]: 90: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,025 INFO L280 TraceCheckUtils]: 91: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,026 INFO L275 TraceCheckUtils]: 92: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,027 INFO L263 TraceCheckUtils]: 93: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,027 INFO L280 TraceCheckUtils]: 94: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,028 INFO L280 TraceCheckUtils]: 95: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,030 INFO L263 TraceCheckUtils]: 96: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,030 INFO L280 TraceCheckUtils]: 97: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,030 INFO L280 TraceCheckUtils]: 98: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,030 INFO L280 TraceCheckUtils]: 99: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,031 INFO L275 TraceCheckUtils]: 100: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,032 INFO L263 TraceCheckUtils]: 101: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,032 INFO L280 TraceCheckUtils]: 102: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,033 INFO L280 TraceCheckUtils]: 103: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,033 INFO L280 TraceCheckUtils]: 104: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,033 INFO L275 TraceCheckUtils]: 105: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,033 INFO L280 TraceCheckUtils]: 106: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,033 INFO L275 TraceCheckUtils]: 107: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,034 INFO L280 TraceCheckUtils]: 108: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,035 INFO L275 TraceCheckUtils]: 109: Hoare quadruple {4462#true} {4789#(<= 3 |applyHanoi_#in~n|)} #40#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,036 INFO L280 TraceCheckUtils]: 110: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} assume true; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,037 INFO L275 TraceCheckUtils]: 111: Hoare quadruple {4789#(<= 3 |applyHanoi_#in~n|)} {4632#(<= applyHanoi_~n 3)} #40#return; {4463#false} is VALID [2020-07-17 22:08:22,038 INFO L280 TraceCheckUtils]: 112: Hoare triple {4463#false} assume true; {4463#false} is VALID [2020-07-17 22:08:22,038 INFO L275 TraceCheckUtils]: 113: Hoare quadruple {4463#false} {4462#true} #48#return; {4463#false} is VALID [2020-07-17 22:08:22,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:22,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:22,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:22,061 INFO L280 TraceCheckUtils]: 0: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,061 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume 1 == ~n;#res := 1; {4462#true} is VALID [2020-07-17 22:08:22,062 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,062 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #42#return; {4462#true} is VALID [2020-07-17 22:08:22,062 INFO L280 TraceCheckUtils]: 0: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,062 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(1 == ~n); {4462#true} is VALID [2020-07-17 22:08:22,063 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call #t~ret0 := hanoi(~n - 1); {4462#true} is VALID [2020-07-17 22:08:22,063 INFO L280 TraceCheckUtils]: 3: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,063 INFO L280 TraceCheckUtils]: 4: Hoare triple {4462#true} assume 1 == ~n;#res := 1; {4462#true} is VALID [2020-07-17 22:08:22,063 INFO L280 TraceCheckUtils]: 5: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,064 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4462#true} {4462#true} #42#return; {4462#true} is VALID [2020-07-17 22:08:22,064 INFO L280 TraceCheckUtils]: 7: Hoare triple {4462#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {4462#true} is VALID [2020-07-17 22:08:22,064 INFO L280 TraceCheckUtils]: 8: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,064 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4462#true} {4462#true} #42#return; {4462#true} is VALID [2020-07-17 22:08:22,065 INFO L280 TraceCheckUtils]: 0: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,065 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} assume !(1 == ~n); {4462#true} is VALID [2020-07-17 22:08:22,065 INFO L263 TraceCheckUtils]: 2: Hoare triple {4462#true} call #t~ret0 := hanoi(~n - 1); {4462#true} is VALID [2020-07-17 22:08:22,065 INFO L280 TraceCheckUtils]: 3: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,065 INFO L280 TraceCheckUtils]: 4: Hoare triple {4462#true} assume !(1 == ~n); {4462#true} is VALID [2020-07-17 22:08:22,066 INFO L263 TraceCheckUtils]: 5: Hoare triple {4462#true} call #t~ret0 := hanoi(~n - 1); {4462#true} is VALID [2020-07-17 22:08:22,066 INFO L280 TraceCheckUtils]: 6: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,066 INFO L280 TraceCheckUtils]: 7: Hoare triple {4462#true} assume 1 == ~n;#res := 1; {4462#true} is VALID [2020-07-17 22:08:22,067 INFO L280 TraceCheckUtils]: 8: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,068 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4462#true} {4462#true} #42#return; {4462#true} is VALID [2020-07-17 22:08:22,068 INFO L280 TraceCheckUtils]: 10: Hoare triple {4462#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {4462#true} is VALID [2020-07-17 22:08:22,068 INFO L280 TraceCheckUtils]: 11: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,068 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4462#true} {4462#true} #42#return; {4462#true} is VALID [2020-07-17 22:08:22,068 INFO L280 TraceCheckUtils]: 13: Hoare triple {4462#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {4462#true} is VALID [2020-07-17 22:08:22,069 INFO L280 TraceCheckUtils]: 14: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,069 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {4462#true} {4463#false} #50#return; {4463#false} is VALID [2020-07-17 22:08:22,070 INFO L263 TraceCheckUtils]: 0: Hoare triple {4462#true} call ULTIMATE.init(); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,070 INFO L280 TraceCheckUtils]: 1: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~counter~0 := 0; {4462#true} is VALID [2020-07-17 22:08:22,070 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,071 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #44#return; {4462#true} is VALID [2020-07-17 22:08:22,071 INFO L263 TraceCheckUtils]: 4: Hoare triple {4462#true} call #t~ret4 := main(); {4462#true} is VALID [2020-07-17 22:08:22,071 INFO L280 TraceCheckUtils]: 5: Hoare triple {4462#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {4462#true} is VALID [2020-07-17 22:08:22,071 INFO L280 TraceCheckUtils]: 6: Hoare triple {4462#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {4462#true} is VALID [2020-07-17 22:08:22,072 INFO L263 TraceCheckUtils]: 7: Hoare triple {4462#true} call applyHanoi(~n~0, 1, 3, 2); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,073 INFO L280 TraceCheckUtils]: 8: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,073 INFO L280 TraceCheckUtils]: 9: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,074 INFO L263 TraceCheckUtils]: 10: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,075 INFO L280 TraceCheckUtils]: 11: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,075 INFO L280 TraceCheckUtils]: 12: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,077 INFO L263 TraceCheckUtils]: 13: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,077 INFO L280 TraceCheckUtils]: 14: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,078 INFO L280 TraceCheckUtils]: 15: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,080 INFO L263 TraceCheckUtils]: 16: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,080 INFO L280 TraceCheckUtils]: 17: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,081 INFO L280 TraceCheckUtils]: 18: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,081 INFO L280 TraceCheckUtils]: 19: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,083 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:22,084 INFO L263 TraceCheckUtils]: 21: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,084 INFO L280 TraceCheckUtils]: 22: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,084 INFO L280 TraceCheckUtils]: 23: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,085 INFO L280 TraceCheckUtils]: 24: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,086 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {4462#true} {4741#(<= |applyHanoi_#in~n| 1)} #40#return; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:22,086 INFO L280 TraceCheckUtils]: 26: Hoare triple {4741#(<= |applyHanoi_#in~n| 1)} assume true; {4741#(<= |applyHanoi_#in~n| 1)} is VALID [2020-07-17 22:08:22,088 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4741#(<= |applyHanoi_#in~n| 1)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:22,090 INFO L263 TraceCheckUtils]: 28: Hoare triple {4722#(<= |applyHanoi_#in~n| 2)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,090 INFO L280 TraceCheckUtils]: 29: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,090 INFO L280 TraceCheckUtils]: 30: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,092 INFO L263 TraceCheckUtils]: 31: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,092 INFO L280 TraceCheckUtils]: 32: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,092 INFO L280 TraceCheckUtils]: 33: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,092 INFO L280 TraceCheckUtils]: 34: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,092 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,094 INFO L263 TraceCheckUtils]: 36: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,094 INFO L280 TraceCheckUtils]: 37: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,095 INFO L280 TraceCheckUtils]: 38: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,095 INFO L280 TraceCheckUtils]: 39: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,095 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,095 INFO L280 TraceCheckUtils]: 41: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,096 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {4462#true} {4722#(<= |applyHanoi_#in~n| 2)} #40#return; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:22,097 INFO L280 TraceCheckUtils]: 43: Hoare triple {4722#(<= |applyHanoi_#in~n| 2)} assume true; {4722#(<= |applyHanoi_#in~n| 2)} is VALID [2020-07-17 22:08:22,099 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {4722#(<= |applyHanoi_#in~n| 2)} {4462#true} #38#return; {4632#(<= applyHanoi_~n 3)} is VALID [2020-07-17 22:08:22,100 INFO L263 TraceCheckUtils]: 45: Hoare triple {4632#(<= applyHanoi_~n 3)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,101 INFO L280 TraceCheckUtils]: 46: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,101 INFO L280 TraceCheckUtils]: 47: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,103 INFO L263 TraceCheckUtils]: 48: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,104 INFO L280 TraceCheckUtils]: 49: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,105 INFO L280 TraceCheckUtils]: 50: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,106 INFO L263 TraceCheckUtils]: 51: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,107 INFO L280 TraceCheckUtils]: 52: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,108 INFO L280 TraceCheckUtils]: 53: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,109 INFO L263 TraceCheckUtils]: 54: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,110 INFO L280 TraceCheckUtils]: 55: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,110 INFO L280 TraceCheckUtils]: 56: Hoare triple {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,111 INFO L280 TraceCheckUtils]: 57: Hoare triple {4746#(= 0 |applyHanoi_#in~n|)} assume true; {4746#(= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,113 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {4746#(= 0 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,114 INFO L263 TraceCheckUtils]: 59: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,115 INFO L280 TraceCheckUtils]: 60: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,115 INFO L280 TraceCheckUtils]: 61: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,115 INFO L280 TraceCheckUtils]: 62: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,116 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {4462#true} {4857#(<= 1 |applyHanoi_#in~n|)} #40#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,117 INFO L280 TraceCheckUtils]: 64: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} assume true; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,119 INFO L275 TraceCheckUtils]: 65: Hoare quadruple {4857#(<= 1 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,121 INFO L263 TraceCheckUtils]: 66: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,121 INFO L280 TraceCheckUtils]: 67: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,121 INFO L280 TraceCheckUtils]: 68: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,122 INFO L263 TraceCheckUtils]: 69: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,123 INFO L280 TraceCheckUtils]: 70: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,123 INFO L280 TraceCheckUtils]: 71: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,123 INFO L280 TraceCheckUtils]: 72: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,123 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,125 INFO L263 TraceCheckUtils]: 74: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,125 INFO L280 TraceCheckUtils]: 75: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,125 INFO L280 TraceCheckUtils]: 76: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,125 INFO L280 TraceCheckUtils]: 77: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,125 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,126 INFO L280 TraceCheckUtils]: 79: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,127 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {4462#true} {4838#(<= 2 |applyHanoi_#in~n|)} #40#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,127 INFO L280 TraceCheckUtils]: 81: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} assume true; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,129 INFO L275 TraceCheckUtils]: 82: Hoare quadruple {4838#(<= 2 |applyHanoi_#in~n|)} {4707#(= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,131 INFO L263 TraceCheckUtils]: 83: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,131 INFO L280 TraceCheckUtils]: 84: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,131 INFO L280 TraceCheckUtils]: 85: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,133 INFO L263 TraceCheckUtils]: 86: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,133 INFO L280 TraceCheckUtils]: 87: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,133 INFO L280 TraceCheckUtils]: 88: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,135 INFO L263 TraceCheckUtils]: 89: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,135 INFO L280 TraceCheckUtils]: 90: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,135 INFO L280 TraceCheckUtils]: 91: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,135 INFO L280 TraceCheckUtils]: 92: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,135 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,137 INFO L263 TraceCheckUtils]: 94: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,137 INFO L280 TraceCheckUtils]: 95: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,137 INFO L280 TraceCheckUtils]: 96: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,138 INFO L280 TraceCheckUtils]: 97: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,138 INFO L275 TraceCheckUtils]: 98: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,138 INFO L280 TraceCheckUtils]: 99: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,138 INFO L275 TraceCheckUtils]: 100: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,140 INFO L263 TraceCheckUtils]: 101: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,140 INFO L280 TraceCheckUtils]: 102: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,140 INFO L280 TraceCheckUtils]: 103: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,142 INFO L263 TraceCheckUtils]: 104: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,142 INFO L280 TraceCheckUtils]: 105: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,142 INFO L280 TraceCheckUtils]: 106: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,142 INFO L280 TraceCheckUtils]: 107: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,142 INFO L275 TraceCheckUtils]: 108: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,144 INFO L263 TraceCheckUtils]: 109: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4597#(= ~counter~0 |old(~counter~0)|)} is VALID [2020-07-17 22:08:22,144 INFO L280 TraceCheckUtils]: 110: Hoare triple {4597#(= ~counter~0 |old(~counter~0)|)} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,144 INFO L280 TraceCheckUtils]: 111: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,144 INFO L280 TraceCheckUtils]: 112: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,145 INFO L275 TraceCheckUtils]: 113: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,145 INFO L280 TraceCheckUtils]: 114: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,145 INFO L275 TraceCheckUtils]: 115: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,145 INFO L280 TraceCheckUtils]: 116: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,147 INFO L275 TraceCheckUtils]: 117: Hoare quadruple {4462#true} {4789#(<= 3 |applyHanoi_#in~n|)} #40#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,147 INFO L280 TraceCheckUtils]: 118: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} assume true; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,149 INFO L275 TraceCheckUtils]: 119: Hoare quadruple {4789#(<= 3 |applyHanoi_#in~n|)} {4632#(<= applyHanoi_~n 3)} #40#return; {4463#false} is VALID [2020-07-17 22:08:22,149 INFO L280 TraceCheckUtils]: 120: Hoare triple {4463#false} assume true; {4463#false} is VALID [2020-07-17 22:08:22,149 INFO L275 TraceCheckUtils]: 121: Hoare quadruple {4463#false} {4462#true} #48#return; {4463#false} is VALID [2020-07-17 22:08:22,149 INFO L263 TraceCheckUtils]: 122: Hoare triple {4463#false} call #t~ret3 := hanoi(~n~0); {4462#true} is VALID [2020-07-17 22:08:22,149 INFO L280 TraceCheckUtils]: 123: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,150 INFO L280 TraceCheckUtils]: 124: Hoare triple {4462#true} assume !(1 == ~n); {4462#true} is VALID [2020-07-17 22:08:22,150 INFO L263 TraceCheckUtils]: 125: Hoare triple {4462#true} call #t~ret0 := hanoi(~n - 1); {4462#true} is VALID [2020-07-17 22:08:22,150 INFO L280 TraceCheckUtils]: 126: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,150 INFO L280 TraceCheckUtils]: 127: Hoare triple {4462#true} assume !(1 == ~n); {4462#true} is VALID [2020-07-17 22:08:22,150 INFO L263 TraceCheckUtils]: 128: Hoare triple {4462#true} call #t~ret0 := hanoi(~n - 1); {4462#true} is VALID [2020-07-17 22:08:22,151 INFO L280 TraceCheckUtils]: 129: Hoare triple {4462#true} ~n := #in~n; {4462#true} is VALID [2020-07-17 22:08:22,151 INFO L280 TraceCheckUtils]: 130: Hoare triple {4462#true} assume 1 == ~n;#res := 1; {4462#true} is VALID [2020-07-17 22:08:22,151 INFO L280 TraceCheckUtils]: 131: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,151 INFO L275 TraceCheckUtils]: 132: Hoare quadruple {4462#true} {4462#true} #42#return; {4462#true} is VALID [2020-07-17 22:08:22,151 INFO L280 TraceCheckUtils]: 133: Hoare triple {4462#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {4462#true} is VALID [2020-07-17 22:08:22,151 INFO L280 TraceCheckUtils]: 134: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,152 INFO L275 TraceCheckUtils]: 135: Hoare quadruple {4462#true} {4462#true} #42#return; {4462#true} is VALID [2020-07-17 22:08:22,152 INFO L280 TraceCheckUtils]: 136: Hoare triple {4462#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {4462#true} is VALID [2020-07-17 22:08:22,152 INFO L280 TraceCheckUtils]: 137: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,152 INFO L275 TraceCheckUtils]: 138: Hoare quadruple {4462#true} {4463#false} #50#return; {4463#false} is VALID [2020-07-17 22:08:22,152 INFO L280 TraceCheckUtils]: 139: Hoare triple {4463#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {4463#false} is VALID [2020-07-17 22:08:22,152 INFO L280 TraceCheckUtils]: 140: Hoare triple {4463#false} assume !(~result~0 == ~counter~0); {4463#false} is VALID [2020-07-17 22:08:22,153 INFO L280 TraceCheckUtils]: 141: Hoare triple {4463#false} assume !false; {4463#false} is VALID [2020-07-17 22:08:22,168 INFO L134 CoverageAnalysis]: Checked inductivity of 1136 backedges. 167 proven. 314 refuted. 0 times theorem prover too weak. 655 trivial. 0 not checked. [2020-07-17 22:08:22,168 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1426543179] [2020-07-17 22:08:22,169 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1313147856] [2020-07-17 22:08:22,169 INFO L92 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:08:22,265 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2020-07-17 22:08:22,265 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:08:22,266 INFO L264 TraceCheckSpWp]: Trace formula consists of 416 conjuncts, 18 conjunts are in the unsatisfiable core [2020-07-17 22:08:22,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:08:22,317 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:08:22,679 INFO L263 TraceCheckUtils]: 0: Hoare triple {4462#true} call ULTIMATE.init(); {4462#true} is VALID [2020-07-17 22:08:22,680 INFO L280 TraceCheckUtils]: 1: Hoare triple {4462#true} ~counter~0 := 0; {4462#true} is VALID [2020-07-17 22:08:22,680 INFO L280 TraceCheckUtils]: 2: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,680 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4462#true} {4462#true} #44#return; {4462#true} is VALID [2020-07-17 22:08:22,680 INFO L263 TraceCheckUtils]: 4: Hoare triple {4462#true} call #t~ret4 := main(); {4462#true} is VALID [2020-07-17 22:08:22,681 INFO L280 TraceCheckUtils]: 5: Hoare triple {4462#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~n~0 := #t~nondet2;havoc #t~nondet2; {4462#true} is VALID [2020-07-17 22:08:22,681 INFO L280 TraceCheckUtils]: 6: Hoare triple {4462#true} assume !(~n~0 < 1 || ~n~0 > 31);~counter~0 := 0; {4462#true} is VALID [2020-07-17 22:08:22,681 INFO L263 TraceCheckUtils]: 7: Hoare triple {4462#true} call applyHanoi(~n~0, 1, 3, 2); {4462#true} is VALID [2020-07-17 22:08:22,682 INFO L280 TraceCheckUtils]: 8: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,682 INFO L280 TraceCheckUtils]: 9: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,683 INFO L263 TraceCheckUtils]: 10: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,683 INFO L280 TraceCheckUtils]: 11: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,683 INFO L280 TraceCheckUtils]: 12: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,683 INFO L263 TraceCheckUtils]: 13: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,683 INFO L280 TraceCheckUtils]: 14: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,683 INFO L280 TraceCheckUtils]: 15: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,683 INFO L263 TraceCheckUtils]: 16: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,683 INFO L280 TraceCheckUtils]: 17: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L280 TraceCheckUtils]: 18: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L280 TraceCheckUtils]: 19: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L263 TraceCheckUtils]: 21: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L280 TraceCheckUtils]: 22: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L280 TraceCheckUtils]: 23: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L280 TraceCheckUtils]: 24: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,684 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L280 TraceCheckUtils]: 26: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L263 TraceCheckUtils]: 28: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L280 TraceCheckUtils]: 29: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L280 TraceCheckUtils]: 30: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L263 TraceCheckUtils]: 31: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L280 TraceCheckUtils]: 32: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,685 INFO L280 TraceCheckUtils]: 33: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L280 TraceCheckUtils]: 34: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L275 TraceCheckUtils]: 35: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L263 TraceCheckUtils]: 36: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L280 TraceCheckUtils]: 37: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L280 TraceCheckUtils]: 38: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L280 TraceCheckUtils]: 39: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,686 INFO L280 TraceCheckUtils]: 41: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,687 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,687 INFO L280 TraceCheckUtils]: 43: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,687 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {4462#true} {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,688 INFO L263 TraceCheckUtils]: 45: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,688 INFO L280 TraceCheckUtils]: 46: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,688 INFO L280 TraceCheckUtils]: 47: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,689 INFO L263 TraceCheckUtils]: 48: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,689 INFO L280 TraceCheckUtils]: 49: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,689 INFO L280 TraceCheckUtils]: 50: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,689 INFO L263 TraceCheckUtils]: 51: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,690 INFO L280 TraceCheckUtils]: 52: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,690 INFO L280 TraceCheckUtils]: 53: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,690 INFO L263 TraceCheckUtils]: 54: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,691 INFO L280 TraceCheckUtils]: 55: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,691 INFO L280 TraceCheckUtils]: 56: Hoare triple {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} assume 0 == ~n; {5100#(<= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,692 INFO L280 TraceCheckUtils]: 57: Hoare triple {5100#(<= 0 |applyHanoi_#in~n|)} assume true; {5100#(<= 0 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,693 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {5100#(<= 0 |applyHanoi_#in~n|)} {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,693 INFO L263 TraceCheckUtils]: 59: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,693 INFO L280 TraceCheckUtils]: 60: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,693 INFO L280 TraceCheckUtils]: 61: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,694 INFO L280 TraceCheckUtils]: 62: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,695 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {4462#true} {4857#(<= 1 |applyHanoi_#in~n|)} #40#return; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,697 INFO L280 TraceCheckUtils]: 64: Hoare triple {4857#(<= 1 |applyHanoi_#in~n|)} assume true; {4857#(<= 1 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,698 INFO L275 TraceCheckUtils]: 65: Hoare quadruple {4857#(<= 1 |applyHanoi_#in~n|)} {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,698 INFO L263 TraceCheckUtils]: 66: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L280 TraceCheckUtils]: 67: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L280 TraceCheckUtils]: 68: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L263 TraceCheckUtils]: 69: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L280 TraceCheckUtils]: 70: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L280 TraceCheckUtils]: 71: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L280 TraceCheckUtils]: 72: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,699 INFO L263 TraceCheckUtils]: 74: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,700 INFO L280 TraceCheckUtils]: 75: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,700 INFO L280 TraceCheckUtils]: 76: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,700 INFO L280 TraceCheckUtils]: 77: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,700 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,700 INFO L280 TraceCheckUtils]: 79: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,701 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {4462#true} {4838#(<= 2 |applyHanoi_#in~n|)} #40#return; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,702 INFO L280 TraceCheckUtils]: 81: Hoare triple {4838#(<= 2 |applyHanoi_#in~n|)} assume true; {4838#(<= 2 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,703 INFO L275 TraceCheckUtils]: 82: Hoare quadruple {4838#(<= 2 |applyHanoi_#in~n|)} {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} #38#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,703 INFO L263 TraceCheckUtils]: 83: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,703 INFO L280 TraceCheckUtils]: 84: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L280 TraceCheckUtils]: 85: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L263 TraceCheckUtils]: 86: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L280 TraceCheckUtils]: 87: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L280 TraceCheckUtils]: 88: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L263 TraceCheckUtils]: 89: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L280 TraceCheckUtils]: 90: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L280 TraceCheckUtils]: 91: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,704 INFO L280 TraceCheckUtils]: 92: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L263 TraceCheckUtils]: 94: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L280 TraceCheckUtils]: 95: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L280 TraceCheckUtils]: 96: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L280 TraceCheckUtils]: 97: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L275 TraceCheckUtils]: 98: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L280 TraceCheckUtils]: 99: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,705 INFO L275 TraceCheckUtils]: 100: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,706 INFO L263 TraceCheckUtils]: 101: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,706 INFO L280 TraceCheckUtils]: 102: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,706 INFO L280 TraceCheckUtils]: 103: Hoare triple {4462#true} assume !(0 == ~n);#t~post1 := ~counter~0;~counter~0 := 1 + #t~post1;havoc #t~post1; {4462#true} is VALID [2020-07-17 22:08:22,706 INFO L263 TraceCheckUtils]: 104: Hoare triple {4462#true} call applyHanoi(~n - 1, ~from, ~via, ~to); {4462#true} is VALID [2020-07-17 22:08:22,706 INFO L280 TraceCheckUtils]: 105: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,706 INFO L280 TraceCheckUtils]: 106: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,707 INFO L280 TraceCheckUtils]: 107: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,707 INFO L275 TraceCheckUtils]: 108: Hoare quadruple {4462#true} {4462#true} #38#return; {4462#true} is VALID [2020-07-17 22:08:22,707 INFO L263 TraceCheckUtils]: 109: Hoare triple {4462#true} call applyHanoi(~n - 1, ~via, ~to, ~from); {4462#true} is VALID [2020-07-17 22:08:22,707 INFO L280 TraceCheckUtils]: 110: Hoare triple {4462#true} ~n := #in~n;~from := #in~from;~to := #in~to;~via := #in~via; {4462#true} is VALID [2020-07-17 22:08:22,707 INFO L280 TraceCheckUtils]: 111: Hoare triple {4462#true} assume 0 == ~n; {4462#true} is VALID [2020-07-17 22:08:22,707 INFO L280 TraceCheckUtils]: 112: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,708 INFO L275 TraceCheckUtils]: 113: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,708 INFO L280 TraceCheckUtils]: 114: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,708 INFO L275 TraceCheckUtils]: 115: Hoare quadruple {4462#true} {4462#true} #40#return; {4462#true} is VALID [2020-07-17 22:08:22,708 INFO L280 TraceCheckUtils]: 116: Hoare triple {4462#true} assume true; {4462#true} is VALID [2020-07-17 22:08:22,710 INFO L275 TraceCheckUtils]: 117: Hoare quadruple {4462#true} {4789#(<= 3 |applyHanoi_#in~n|)} #40#return; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,715 INFO L280 TraceCheckUtils]: 118: Hoare triple {4789#(<= 3 |applyHanoi_#in~n|)} assume true; {4789#(<= 3 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,717 INFO L275 TraceCheckUtils]: 119: Hoare quadruple {4789#(<= 3 |applyHanoi_#in~n|)} {4955#(<= applyHanoi_~n |applyHanoi_#in~n|)} #40#return; {5290#(<= 4 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,718 INFO L280 TraceCheckUtils]: 120: Hoare triple {5290#(<= 4 |applyHanoi_#in~n|)} assume true; {5290#(<= 4 |applyHanoi_#in~n|)} is VALID [2020-07-17 22:08:22,718 INFO L275 TraceCheckUtils]: 121: Hoare quadruple {5290#(<= 4 |applyHanoi_#in~n|)} {4462#true} #48#return; {5297#(<= 4 main_~n~0)} is VALID [2020-07-17 22:08:22,719 INFO L263 TraceCheckUtils]: 122: Hoare triple {5297#(<= 4 main_~n~0)} call #t~ret3 := hanoi(~n~0); {4462#true} is VALID [2020-07-17 22:08:22,719 INFO L280 TraceCheckUtils]: 123: Hoare triple {4462#true} ~n := #in~n; {5304#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:22,720 INFO L280 TraceCheckUtils]: 124: Hoare triple {5304#(<= |hanoi_#in~n| hanoi_~n)} assume !(1 == ~n); {5304#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:22,720 INFO L263 TraceCheckUtils]: 125: Hoare triple {5304#(<= |hanoi_#in~n| hanoi_~n)} call #t~ret0 := hanoi(~n - 1); {4462#true} is VALID [2020-07-17 22:08:22,720 INFO L280 TraceCheckUtils]: 126: Hoare triple {4462#true} ~n := #in~n; {5304#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:22,721 INFO L280 TraceCheckUtils]: 127: Hoare triple {5304#(<= |hanoi_#in~n| hanoi_~n)} assume !(1 == ~n); {5304#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:22,721 INFO L263 TraceCheckUtils]: 128: Hoare triple {5304#(<= |hanoi_#in~n| hanoi_~n)} call #t~ret0 := hanoi(~n - 1); {4462#true} is VALID [2020-07-17 22:08:22,722 INFO L280 TraceCheckUtils]: 129: Hoare triple {4462#true} ~n := #in~n; {5304#(<= |hanoi_#in~n| hanoi_~n)} is VALID [2020-07-17 22:08:22,722 INFO L280 TraceCheckUtils]: 130: Hoare triple {5304#(<= |hanoi_#in~n| hanoi_~n)} assume 1 == ~n;#res := 1; {5326#(<= |hanoi_#in~n| 1)} is VALID [2020-07-17 22:08:22,723 INFO L280 TraceCheckUtils]: 131: Hoare triple {5326#(<= |hanoi_#in~n| 1)} assume true; {5326#(<= |hanoi_#in~n| 1)} is VALID [2020-07-17 22:08:22,724 INFO L275 TraceCheckUtils]: 132: Hoare quadruple {5326#(<= |hanoi_#in~n| 1)} {5304#(<= |hanoi_#in~n| hanoi_~n)} #42#return; {5333#(<= |hanoi_#in~n| 2)} is VALID [2020-07-17 22:08:22,725 INFO L280 TraceCheckUtils]: 133: Hoare triple {5333#(<= |hanoi_#in~n| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {5333#(<= |hanoi_#in~n| 2)} is VALID [2020-07-17 22:08:22,725 INFO L280 TraceCheckUtils]: 134: Hoare triple {5333#(<= |hanoi_#in~n| 2)} assume true; {5333#(<= |hanoi_#in~n| 2)} is VALID [2020-07-17 22:08:22,726 INFO L275 TraceCheckUtils]: 135: Hoare quadruple {5333#(<= |hanoi_#in~n| 2)} {5304#(<= |hanoi_#in~n| hanoi_~n)} #42#return; {5343#(<= |hanoi_#in~n| 3)} is VALID [2020-07-17 22:08:22,726 INFO L280 TraceCheckUtils]: 136: Hoare triple {5343#(<= |hanoi_#in~n| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + 2 * #t~ret0;havoc #t~ret0; {5343#(<= |hanoi_#in~n| 3)} is VALID [2020-07-17 22:08:22,727 INFO L280 TraceCheckUtils]: 137: Hoare triple {5343#(<= |hanoi_#in~n| 3)} assume true; {5343#(<= |hanoi_#in~n| 3)} is VALID [2020-07-17 22:08:22,727 INFO L275 TraceCheckUtils]: 138: Hoare quadruple {5343#(<= |hanoi_#in~n| 3)} {5297#(<= 4 main_~n~0)} #50#return; {4463#false} is VALID [2020-07-17 22:08:22,727 INFO L280 TraceCheckUtils]: 139: Hoare triple {4463#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~result~0 := #t~ret3;havoc #t~ret3; {4463#false} is VALID [2020-07-17 22:08:22,727 INFO L280 TraceCheckUtils]: 140: Hoare triple {4463#false} assume !(~result~0 == ~counter~0); {4463#false} is VALID [2020-07-17 22:08:22,728 INFO L280 TraceCheckUtils]: 141: Hoare triple {4463#false} assume !false; {4463#false} is VALID [2020-07-17 22:08:22,738 INFO L134 CoverageAnalysis]: Checked inductivity of 1136 backedges. 197 proven. 162 refuted. 0 times theorem prover too weak. 777 trivial. 0 not checked. [2020-07-17 22:08:22,739 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:08:22,739 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 19 [2020-07-17 22:08:22,739 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [70510726] [2020-07-17 22:08:22,740 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 142