java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml --rcfgbuilder.size.of.a.code.block SingleStatement -i ../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/HierarchicalTraceAbstraction/GeometricalIntegerCakeWithArray.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1c58c86 [2019-05-15 10:27:56,369 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-05-15 10:27:56,371 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-05-15 10:27:56,383 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-15 10:27:56,383 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-05-15 10:27:56,384 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-15 10:27:56,386 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-05-15 10:27:56,388 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-05-15 10:27:56,390 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-05-15 10:27:56,390 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-05-15 10:27:56,394 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-05-15 10:27:56,394 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-05-15 10:27:56,395 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-05-15 10:27:56,398 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-05-15 10:27:56,401 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-05-15 10:27:56,401 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-15 10:27:56,405 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-05-15 10:27:56,407 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-15 10:27:56,409 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-05-15 10:27:56,411 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-05-15 10:27:56,412 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-05-15 10:27:56,414 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-05-15 10:27:56,416 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-15 10:27:56,417 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-15 10:27:56,417 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-05-15 10:27:56,418 INFO L174 SettingsManager]: Resetting IcfgToChc preferences to default values [2019-05-15 10:27:56,418 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-05-15 10:27:56,419 INFO L177 SettingsManager]: ReqToTest provides no preferences, ignoring... [2019-05-15 10:27:56,420 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-05-15 10:27:56,420 INFO L174 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2019-05-15 10:27:56,421 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-05-15 10:27:56,422 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-05-15 10:27:56,423 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-15 10:27:56,423 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-05-15 10:27:56,424 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-05-15 10:27:56,424 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-05-15 10:27:56,424 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-05-15 10:27:56,425 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-05-15 10:27:56,426 INFO L181 SettingsManager]: Finished resetting all preferences to default values... Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: Size of a code block -> SingleStatement [2019-05-15 10:27:56,469 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-05-15 10:27:56,484 INFO L259 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-15 10:27:56,489 INFO L215 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-05-15 10:27:56,490 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-05-15 10:27:56,491 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2019-05-15 10:27:56,492 INFO L430 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/HierarchicalTraceAbstraction/GeometricalIntegerCakeWithArray.bpl [2019-05-15 10:27:56,492 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/HierarchicalTraceAbstraction/GeometricalIntegerCakeWithArray.bpl' [2019-05-15 10:27:56,532 INFO L297 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-05-15 10:27:56,534 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-05-15 10:27:56,535 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-15 10:27:56,535 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-05-15 10:27:56,535 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2019-05-15 10:27:56,552 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,563 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,569 WARN L165 Inliner]: Program contained no entry procedure! [2019-05-15 10:27:56,569 WARN L168 Inliner]: Missing entry procedures: [ULTIMATE.start] [2019-05-15 10:27:56,569 WARN L175 Inliner]: Fallback enabled. All procedures will be processed. [2019-05-15 10:27:56,571 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-15 10:27:56,572 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-05-15 10:27:56,572 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-05-15 10:27:56,572 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2019-05-15 10:27:56,584 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,584 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,585 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,585 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,588 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,593 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,594 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/1) ... [2019-05-15 10:27:56,597 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-15 10:27:56,598 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-05-15 10:27:56,598 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-05-15 10:27:56,598 INFO L275 PluginConnector]: RCFGBuilder initialized [2019-05-15 10:27:56,599 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (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:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2019-05-15 10:27:56,675 INFO L124 BoogieDeclarations]: Specification and implementation of procedure main given in one single declaration [2019-05-15 10:27:56,675 INFO L130 BoogieDeclarations]: Found specification of procedure main [2019-05-15 10:27:56,675 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2019-05-15 10:27:57,155 INFO L275 CfgBuilder]: Using library mode [2019-05-15 10:27:57,156 INFO L283 CfgBuilder]: Removed 1 assume(true) statements. [2019-05-15 10:27:57,157 INFO L202 PluginConnector]: Adding new model GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:27:57 BoogieIcfgContainer [2019-05-15 10:27:57,157 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-05-15 10:27:57,159 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-05-15 10:27:57,159 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-05-15 10:27:57,162 INFO L275 PluginConnector]: TraceAbstraction initialized [2019-05-15 10:27:57,162 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:27:56" (1/2) ... [2019-05-15 10:27:57,164 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f11abec and model type GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.05 10:27:57, skipping insertion in model container [2019-05-15 10:27:57,164 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:27:57" (2/2) ... [2019-05-15 10:27:57,166 INFO L109 eAbstractionObserver]: Analyzing ICFG GeometricalIntegerCakeWithArray.bpl [2019-05-15 10:27:57,176 INFO L152 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-15 10:27:57,184 INFO L164 ceAbstractionStarter]: Appying trace abstraction to program that has 2 error locations. [2019-05-15 10:27:57,202 INFO L252 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2019-05-15 10:27:57,231 INFO L127 ementStrategyFactory]: Using default assertion order modulation [2019-05-15 10:27:57,232 INFO L377 AbstractCegarLoop]: Interprodecural is true [2019-05-15 10:27:57,232 INFO L378 AbstractCegarLoop]: Hoare is false [2019-05-15 10:27:57,232 INFO L379 AbstractCegarLoop]: Compute interpolants for ForwardPredicates [2019-05-15 10:27:57,232 INFO L380 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-05-15 10:27:57,233 INFO L381 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-05-15 10:27:57,233 INFO L382 AbstractCegarLoop]: Difference is false [2019-05-15 10:27:57,233 INFO L383 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-05-15 10:27:57,233 INFO L388 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-15 10:27:57,250 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states. [2019-05-15 10:27:57,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-05-15 10:27:57,268 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:27:57,272 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-05-15 10:27:57,275 INFO L418 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONINVARIANTandASSERT, mainErr1ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:27:57,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:27:57,284 INFO L82 PathProgramCache]: Analyzing trace with hash 924548, now seen corresponding path program 1 times [2019-05-15 10:27:57,344 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:27:57,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:27:57,396 WARN L254 TraceCheckSpWp]: Trace formula consists of 7 conjuncts, 5 conjunts are in the unsatisfiable core [2019-05-15 10:27:57,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:27:57,408 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:27:57,756 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2019-05-15 10:27:57,757 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:27:57,797 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:27:57,798 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:27:57,798 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:27:57,806 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:27:57,807 WARN L403 uantifierElimination]: Input elimination task: ∃ [v_main_m_13]. (and (= (store v_main_m_13 main_cakeLeft main_init) main_m) (<= 0 main_init)) [2019-05-15 10:27:57,807 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select main_m main_cakeLeft) main_init) (<= 0 main_init)) [2019-05-15 10:27:57,989 INFO L341 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:27:57,990 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 14 treesize of output 32 [2019-05-15 10:27:57,992 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:27:58,114 WARN L188 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 15 [2019-05-15 10:27:58,115 INFO L567 ElimStorePlain]: treesize reduction 12, result has 62.5 percent of original size [2019-05-15 10:27:58,115 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:27:58,116 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:17, output treesize:20 [2019-05-15 10:27:58,131 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:27:58,132 WARN L403 uantifierElimination]: Input elimination task: ∃ [v_main_m_14]. (and (= (store v_main_m_14 main_eat (div main_init 2)) main_m) (<= 0 main_init) (= (select v_main_m_14 main_cakeLeft) main_init)) [2019-05-15 10:27:58,132 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (div main_init 2) (select main_m main_eat)) (or (= main_eat main_cakeLeft) (= (select main_m main_cakeLeft) main_init)) (<= 0 main_init)) [2019-05-15 10:27:58,352 INFO L273 TraceCheckUtils]: 0: Hoare triple {14#true} assume init >= 0; {19#(<= 0 main_init)} is VALID [2019-05-15 10:27:58,357 INFO L273 TraceCheckUtils]: 1: Hoare triple {19#(<= 0 main_init)} m := m[cakeLeft := init]; {23#(and (= (select main_m main_cakeLeft) main_init) (<= 0 main_init))} is VALID [2019-05-15 10:27:58,360 INFO L273 TraceCheckUtils]: 2: Hoare triple {23#(and (= (select main_m main_cakeLeft) main_init) (<= 0 main_init))} m := m[eat := init / 2]; {27#(and (= (div main_init 2) (select main_m main_eat)) (or (= main_eat main_cakeLeft) (= (select main_m main_cakeLeft) main_init)) (<= 0 main_init))} is VALID [2019-05-15 10:27:58,365 INFO L273 TraceCheckUtils]: 3: Hoare triple {27#(and (= (div main_init 2) (select main_m main_eat)) (or (= main_eat main_cakeLeft) (= (select main_m main_cakeLeft) main_init)) (<= 0 main_init))} assume !(cakeLeft == eat || (m[eat] + init / 2 <= m[cakeLeft] && m[eat] >= 0)); {15#false} is VALID [2019-05-15 10:27:58,367 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:27:58,370 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:27:58,371 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2019-05-15 10:27:58,375 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 4 [2019-05-15 10:27:58,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:27:58,390 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2019-05-15 10:27:58,418 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:27:58,418 INFO L454 AbstractCegarLoop]: Interpolant automaton has 5 states [2019-05-15 10:27:58,425 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2019-05-15 10:27:58,426 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2019-05-15 10:27:58,428 INFO L87 Difference]: Start difference. First operand 11 states. Second operand 5 states. [2019-05-15 10:27:58,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:27:58,932 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2019-05-15 10:27:58,932 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-05-15 10:27:58,932 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 4 [2019-05-15 10:27:58,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:27:58,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2019-05-15 10:27:58,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 21 transitions. [2019-05-15 10:27:58,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2019-05-15 10:27:58,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 21 transitions. [2019-05-15 10:27:58,943 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 21 transitions. [2019-05-15 10:27:59,065 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:27:59,075 INFO L225 Difference]: With dead ends: 18 [2019-05-15 10:27:59,075 INFO L226 Difference]: Without dead ends: 11 [2019-05-15 10:27:59,077 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2019-05-15 10:27:59,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 11 states. [2019-05-15 10:27:59,103 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 11 to 11. [2019-05-15 10:27:59,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:27:59,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 11 states. Second operand 11 states. [2019-05-15 10:27:59,105 INFO L74 IsIncluded]: Start isIncluded. First operand 11 states. Second operand 11 states. [2019-05-15 10:27:59,105 INFO L87 Difference]: Start difference. First operand 11 states. Second operand 11 states. [2019-05-15 10:27:59,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:27:59,109 INFO L93 Difference]: Finished difference Result 11 states and 11 transitions. [2019-05-15 10:27:59,109 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 11 transitions. [2019-05-15 10:27:59,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:27:59,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:27:59,111 INFO L74 IsIncluded]: Start isIncluded. First operand 11 states. Second operand 11 states. [2019-05-15 10:27:59,112 INFO L87 Difference]: Start difference. First operand 11 states. Second operand 11 states. [2019-05-15 10:27:59,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:27:59,114 INFO L93 Difference]: Finished difference Result 11 states and 11 transitions. [2019-05-15 10:27:59,114 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 11 transitions. [2019-05-15 10:27:59,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:27:59,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:27:59,115 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:27:59,115 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:27:59,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:27:59,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 11 transitions. [2019-05-15 10:27:59,118 INFO L78 Accepts]: Start accepts. Automaton has 11 states and 11 transitions. Word has length 4 [2019-05-15 10:27:59,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:27:59,118 INFO L475 AbstractCegarLoop]: Abstraction has 11 states and 11 transitions. [2019-05-15 10:27:59,119 INFO L476 AbstractCegarLoop]: Interpolant automaton has 5 states. [2019-05-15 10:27:59,120 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 11 transitions. [2019-05-15 10:27:59,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-05-15 10:27:59,120 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:27:59,121 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:27:59,122 INFO L418 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONINVARIANTandASSERT, mainErr1ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:27:59,123 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:27:59,123 INFO L82 PathProgramCache]: Analyzing trace with hash 1773443454, now seen corresponding path program 1 times [2019-05-15 10:27:59,124 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:27:59,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:27:59,169 WARN L254 TraceCheckSpWp]: Trace formula consists of 10 conjuncts, 5 conjunts are in the unsatisfiable core [2019-05-15 10:27:59,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:27:59,181 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:27:59,606 WARN L188 SmtUtils]: Spent 269.00 ms on a formula simplification that was a NOOP. DAG size: 17 [2019-05-15 10:27:59,607 INFO L341 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:27:59,608 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 27 treesize of output 47 [2019-05-15 10:27:59,848 INFO L496 ElimStorePlain]: Start of recursive call 2: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:27:59,866 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 11 [2019-05-15 10:27:59,868 INFO L496 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:27:59,933 INFO L567 ElimStorePlain]: treesize reduction 12, result has 79.7 percent of original size [2019-05-15 10:27:59,965 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2019-05-15 10:27:59,966 INFO L221 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:42, output treesize:47 [2019-05-15 10:28:00,248 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:00,249 WARN L403 uantifierElimination]: Input elimination task: ∃ [v_main_m_15]. (let ((.cse0 (select v_main_m_15 main_eat))) (let ((.cse1 (= (store v_main_m_15 main_eat (div .cse0 2)) main_m))) (or (and (<= (+ .cse0 (div main_init 2)) (select v_main_m_15 main_cakeLeft)) (<= 0 .cse0) .cse1) (and (= main_eat main_cakeLeft) .cse1)))) [2019-05-15 10:28:00,249 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [v_arrayElimCell_2, v_arrayElimCell_3, v_arrayElimCell_4]. (let ((.cse0 (= main_eat main_cakeLeft)) (.cse1 (select main_m main_eat))) (or (and (or .cse0 (= (select main_m main_cakeLeft) v_arrayElimCell_2)) (<= 0 v_arrayElimCell_3) (<= (+ v_arrayElimCell_3 (div main_init 2)) v_arrayElimCell_2) (= (div v_arrayElimCell_3 2) .cse1) (or (not .cse0) (= v_arrayElimCell_3 v_arrayElimCell_2))) (and .cse0 (= (div v_arrayElimCell_4 2) .cse1)))) [2019-05-15 10:28:02,443 WARN L188 SmtUtils]: Spent 2.16 s on a formula simplification that was a NOOP. DAG size: 30 [2019-05-15 10:28:02,832 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 34 [2019-05-15 10:28:02,851 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:02,916 INFO L341 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:02,917 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 34 treesize of output 54 [2019-05-15 10:28:03,111 INFO L496 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:03,161 INFO L172 IndexEqualityManager]: detected equality via solver [2019-05-15 10:28:03,170 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 22 [2019-05-15 10:28:03,171 INFO L496 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:03,203 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 14 [2019-05-15 10:28:03,203 INFO L496 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:03,289 INFO L567 ElimStorePlain]: treesize reduction 43, result has 60.9 percent of original size [2019-05-15 10:28:03,295 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2019-05-15 10:28:03,295 INFO L221 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:131, output treesize:67 [2019-05-15 10:28:03,307 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:03,307 WARN L403 uantifierElimination]: Input elimination task: ∃ [v_main_m_16, v_arrayElimCell_3, v_arrayElimCell_2, v_arrayElimCell_4]. (let ((.cse3 (select v_main_m_16 main_cakeLeft)) (.cse4 (select v_main_m_16 main_eat)) (.cse2 (div main_init 2))) (let ((.cse5 (<= .cse2 0)) (.cse0 (= main_m (store v_main_m_16 main_cakeLeft (+ .cse3 (* (- 1) .cse4))))) (.cse1 (= main_eat main_cakeLeft))) (or (and .cse0 (not .cse1) (<= 0 v_arrayElimCell_3) (<= (+ v_arrayElimCell_3 .cse2) .cse3) (= .cse4 (div v_arrayElimCell_3 2))) (and .cse0 (= .cse4 (div .cse3 2)) (<= 0 .cse3) .cse5) (and .cse0 .cse1 (<= 0 v_arrayElimCell_2) .cse5 (= (div v_arrayElimCell_2 2) .cse4)) (and .cse0 .cse1 (= (div v_arrayElimCell_4 2) .cse4))))) [2019-05-15 10:28:03,308 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [v_arrayElimCell_7, v_arrayElimCell_3]. (let ((.cse5 (= main_eat main_cakeLeft))) (let ((.cse2 (not .cse5)) (.cse4 (div main_init 2)) (.cse1 (select main_m main_cakeLeft)) (.cse3 (select main_m main_eat))) (or (let ((.cse0 (div v_arrayElimCell_7 2))) (and (= (+ .cse0 .cse1) v_arrayElimCell_7) .cse2 (<= 0 v_arrayElimCell_7) (= .cse0 .cse3) (<= .cse4 0))) (and (= .cse1 0) .cse5) (and .cse2 (<= 0 v_arrayElimCell_3) (<= (+ v_arrayElimCell_3 .cse4) (+ .cse1 .cse3)) (= (div v_arrayElimCell_3 2) .cse3))))) [2019-05-15 10:28:03,414 INFO L273 TraceCheckUtils]: 0: Hoare triple {83#true} assume init >= 0; {83#true} is VALID [2019-05-15 10:28:03,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {83#true} m := m[cakeLeft := init]; {83#true} is VALID [2019-05-15 10:28:03,415 INFO L273 TraceCheckUtils]: 2: Hoare triple {83#true} m := m[eat := init / 2]; {83#true} is VALID [2019-05-15 10:28:03,417 INFO L273 TraceCheckUtils]: 3: Hoare triple {83#true} assume cakeLeft == eat || (m[eat] + init / 2 <= m[cakeLeft] && m[eat] >= 0); {97#(or (= main_eat main_cakeLeft) (and (<= 0 (select main_m main_eat)) (<= (+ (div main_init 2) (select main_m main_eat)) (select main_m main_cakeLeft))))} is VALID [2019-05-15 10:28:03,419 INFO L273 TraceCheckUtils]: 4: Hoare triple {97#(or (= main_eat main_cakeLeft) (and (<= 0 (select main_m main_eat)) (<= (+ (div main_init 2) (select main_m main_eat)) (select main_m main_cakeLeft))))} m := m[eat := m[eat] / 2]; {101#(or (and (= main_eat main_cakeLeft) (exists ((v_arrayElimCell_4 Int)) (= (div v_arrayElimCell_4 2) (select main_m main_eat)))) (exists ((v_arrayElimCell_3 Int) (v_arrayElimCell_2 Int)) (and (or (= main_eat main_cakeLeft) (= (select main_m main_cakeLeft) v_arrayElimCell_2)) (<= 0 v_arrayElimCell_3) (<= (+ v_arrayElimCell_3 (div main_init 2)) v_arrayElimCell_2) (= (div v_arrayElimCell_3 2) (select main_m main_eat)) (or (not (= main_eat main_cakeLeft)) (= v_arrayElimCell_3 v_arrayElimCell_2)))))} is VALID [2019-05-15 10:28:03,422 INFO L273 TraceCheckUtils]: 5: Hoare triple {101#(or (and (= main_eat main_cakeLeft) (exists ((v_arrayElimCell_4 Int)) (= (div v_arrayElimCell_4 2) (select main_m main_eat)))) (exists ((v_arrayElimCell_3 Int) (v_arrayElimCell_2 Int)) (and (or (= main_eat main_cakeLeft) (= (select main_m main_cakeLeft) v_arrayElimCell_2)) (<= 0 v_arrayElimCell_3) (<= (+ v_arrayElimCell_3 (div main_init 2)) v_arrayElimCell_2) (= (div v_arrayElimCell_3 2) (select main_m main_eat)) (or (not (= main_eat main_cakeLeft)) (= v_arrayElimCell_3 v_arrayElimCell_2)))))} m := m[cakeLeft := m[cakeLeft] - m[eat]]; {105#(or (and (= (select main_m main_cakeLeft) 0) (= main_eat main_cakeLeft)) (and (exists ((v_arrayElimCell_3 Int)) (and (<= 0 v_arrayElimCell_3) (<= (+ v_arrayElimCell_3 (div main_init 2)) (+ (select main_m main_cakeLeft) (select main_m main_eat))) (= (div v_arrayElimCell_3 2) (select main_m main_eat)))) (not (= main_eat main_cakeLeft))))} is VALID [2019-05-15 10:28:03,425 INFO L273 TraceCheckUtils]: 6: Hoare triple {105#(or (and (= (select main_m main_cakeLeft) 0) (= main_eat main_cakeLeft)) (and (exists ((v_arrayElimCell_3 Int)) (and (<= 0 v_arrayElimCell_3) (<= (+ v_arrayElimCell_3 (div main_init 2)) (+ (select main_m main_cakeLeft) (select main_m main_eat))) (= (div v_arrayElimCell_3 2) (select main_m main_eat)))) (not (= main_eat main_cakeLeft))))} assume !(cakeLeft == eat || (m[eat] + init / 2 <= m[cakeLeft] && m[eat] >= 0)); {84#false} is VALID [2019-05-15 10:28:03,426 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:03,427 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:28:03,427 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2019-05-15 10:28:03,429 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 7 [2019-05-15 10:28:03,429 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:03,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2019-05-15 10:28:03,442 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:03,442 INFO L454 AbstractCegarLoop]: Interpolant automaton has 5 states [2019-05-15 10:28:03,442 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2019-05-15 10:28:03,443 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2019-05-15 10:28:03,443 INFO L87 Difference]: Start difference. First operand 11 states and 11 transitions. Second operand 5 states. [2019-05-15 10:28:04,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:04,336 INFO L93 Difference]: Finished difference Result 11 states and 11 transitions. [2019-05-15 10:28:04,336 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-05-15 10:28:04,336 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 7 [2019-05-15 10:28:04,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:04,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2019-05-15 10:28:04,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 12 transitions. [2019-05-15 10:28:04,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2019-05-15 10:28:04,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 12 transitions. [2019-05-15 10:28:04,340 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 12 transitions. [2019-05-15 10:28:04,371 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:04,373 INFO L225 Difference]: With dead ends: 11 [2019-05-15 10:28:04,373 INFO L226 Difference]: Without dead ends: 11 [2019-05-15 10:28:04,374 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2019-05-15 10:28:04,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 11 states. [2019-05-15 10:28:04,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 11 to 10. [2019-05-15 10:28:04,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:04,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 11 states. Second operand 10 states. [2019-05-15 10:28:04,376 INFO L74 IsIncluded]: Start isIncluded. First operand 11 states. Second operand 10 states. [2019-05-15 10:28:04,377 INFO L87 Difference]: Start difference. First operand 11 states. Second operand 10 states. [2019-05-15 10:28:04,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:04,378 INFO L93 Difference]: Finished difference Result 11 states and 11 transitions. [2019-05-15 10:28:04,378 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 11 transitions. [2019-05-15 10:28:04,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:04,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:04,379 INFO L74 IsIncluded]: Start isIncluded. First operand 10 states. Second operand 11 states. [2019-05-15 10:28:04,379 INFO L87 Difference]: Start difference. First operand 10 states. Second operand 11 states. [2019-05-15 10:28:04,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:04,380 INFO L93 Difference]: Finished difference Result 11 states and 11 transitions. [2019-05-15 10:28:04,380 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 11 transitions. [2019-05-15 10:28:04,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:04,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:04,381 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:04,381 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:04,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:28:04,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 10 transitions. [2019-05-15 10:28:04,382 INFO L78 Accepts]: Start accepts. Automaton has 10 states and 10 transitions. Word has length 7 [2019-05-15 10:28:04,382 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:04,382 INFO L475 AbstractCegarLoop]: Abstraction has 10 states and 10 transitions. [2019-05-15 10:28:04,382 INFO L476 AbstractCegarLoop]: Interpolant automaton has 5 states. [2019-05-15 10:28:04,382 INFO L276 IsEmpty]: Start isEmpty. Operand 10 states and 10 transitions. [2019-05-15 10:28:04,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2019-05-15 10:28:04,383 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:04,383 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:04,383 INFO L418 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONINVARIANTandASSERT, mainErr1ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:04,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:04,384 INFO L82 PathProgramCache]: Analyzing trace with hash -822855840, now seen corresponding path program 1 times [2019-05-15 10:28:04,384 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:04,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:04,396 INFO L256 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 3 conjunts are in the unsatisfiable core [2019-05-15 10:28:04,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:04,400 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:04,499 INFO L273 TraceCheckUtils]: 0: Hoare triple {153#true} assume init >= 0; {153#true} is VALID [2019-05-15 10:28:04,499 INFO L273 TraceCheckUtils]: 1: Hoare triple {153#true} m := m[cakeLeft := init]; {153#true} is VALID [2019-05-15 10:28:04,500 INFO L273 TraceCheckUtils]: 2: Hoare triple {153#true} m := m[eat := init / 2]; {153#true} is VALID [2019-05-15 10:28:04,500 INFO L273 TraceCheckUtils]: 3: Hoare triple {153#true} assume cakeLeft == eat || (m[eat] + init / 2 <= m[cakeLeft] && m[eat] >= 0); {153#true} is VALID [2019-05-15 10:28:04,501 INFO L273 TraceCheckUtils]: 4: Hoare triple {153#true} m := m[eat := m[eat] / 2]; {153#true} is VALID [2019-05-15 10:28:04,501 INFO L273 TraceCheckUtils]: 5: Hoare triple {153#true} m := m[cakeLeft := m[cakeLeft] - m[eat]]; {153#true} is VALID [2019-05-15 10:28:04,517 INFO L273 TraceCheckUtils]: 6: Hoare triple {153#true} assume cakeLeft == eat || (m[eat] + init / 2 <= m[cakeLeft] && m[eat] >= 0); {176#(or (= main_eat main_cakeLeft) (and (<= 0 (select main_m main_eat)) (<= (+ (div main_init 2) (select main_m main_eat)) (select main_m main_cakeLeft))))} is VALID [2019-05-15 10:28:04,518 INFO L273 TraceCheckUtils]: 7: Hoare triple {176#(or (= main_eat main_cakeLeft) (and (<= 0 (select main_m main_eat)) (<= (+ (div main_init 2) (select main_m main_eat)) (select main_m main_cakeLeft))))} assume cakeLeft != eat; {180#(exists ((main_eat Int)) (and (not (= main_eat main_cakeLeft)) (<= 0 (select main_m main_eat)) (<= (+ (div main_init 2) (select main_m main_eat)) (select main_m main_cakeLeft))))} is VALID [2019-05-15 10:28:04,519 INFO L273 TraceCheckUtils]: 8: Hoare triple {180#(exists ((main_eat Int)) (and (not (= main_eat main_cakeLeft)) (<= 0 (select main_m main_eat)) (<= (+ (div main_init 2) (select main_m main_eat)) (select main_m main_cakeLeft))))} assume !(m[cakeLeft] >= init / 2); {154#false} is VALID [2019-05-15 10:28:04,520 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-05-15 10:28:04,520 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:28:04,521 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2019-05-15 10:28:04,521 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 9 [2019-05-15 10:28:04,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:04,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-05-15 10:28:04,535 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:04,535 INFO L454 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-05-15 10:28:04,535 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-05-15 10:28:04,536 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2019-05-15 10:28:04,536 INFO L87 Difference]: Start difference. First operand 10 states and 10 transitions. Second operand 4 states. [2019-05-15 10:28:04,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:04,645 INFO L93 Difference]: Finished difference Result 9 states and 9 transitions. [2019-05-15 10:28:04,645 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-05-15 10:28:04,645 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 9 [2019-05-15 10:28:04,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:04,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:28:04,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 8 transitions. [2019-05-15 10:28:04,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:28:04,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 8 transitions. [2019-05-15 10:28:04,651 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 8 transitions. [2019-05-15 10:28:04,681 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:04,682 INFO L225 Difference]: With dead ends: 9 [2019-05-15 10:28:04,682 INFO L226 Difference]: Without dead ends: 0 [2019-05-15 10:28:04,682 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2019-05-15 10:28:04,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2019-05-15 10:28:04,683 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-05-15 10:28:04,683 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:04,683 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2019-05-15 10:28:04,683 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-05-15 10:28:04,684 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-05-15 10:28:04,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:04,684 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-05-15 10:28:04,684 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:28:04,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:04,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:04,685 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-05-15 10:28:04,685 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-05-15 10:28:04,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:04,685 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-05-15 10:28:04,686 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:28:04,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:04,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:04,686 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:04,686 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:04,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2019-05-15 10:28:04,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-05-15 10:28:04,687 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 9 [2019-05-15 10:28:04,687 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:04,687 INFO L475 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2019-05-15 10:28:04,687 INFO L476 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-05-15 10:28:04,687 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:28:04,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:04,693 INFO L202 PluginConnector]: Adding new model GeometricalIntegerCakeWithArray.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.05 10:28:04 BoogieIcfgContainer [2019-05-15 10:28:04,693 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2019-05-15 10:28:04,694 INFO L168 Benchmark]: Toolchain (without parser) took 8161.16 ms. Allocated memory was 133.7 MB in the beginning and 196.6 MB in the end (delta: 62.9 MB). Free memory was 109.9 MB in the beginning and 74.6 MB in the end (delta: 35.3 MB). Peak memory consumption was 98.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:28:04,696 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 133.7 MB. Free memory was 111.1 MB in the beginning and 110.9 MB in the end (delta: 210.3 kB). Peak memory consumption was 210.3 kB. Max. memory is 7.1 GB. [2019-05-15 10:28:04,696 INFO L168 Benchmark]: Boogie Procedure Inliner took 36.55 ms. Allocated memory is still 133.7 MB. Free memory was 109.7 MB in the beginning and 108.0 MB in the end (delta: 1.7 MB). Peak memory consumption was 1.7 MB. Max. memory is 7.1 GB. [2019-05-15 10:28:04,697 INFO L168 Benchmark]: Boogie Preprocessor took 25.42 ms. Allocated memory is still 133.7 MB. Free memory was 108.0 MB in the beginning and 106.7 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:28:04,698 INFO L168 Benchmark]: RCFGBuilder took 559.24 ms. Allocated memory is still 133.7 MB. Free memory was 106.7 MB in the beginning and 94.5 MB in the end (delta: 12.3 MB). Peak memory consumption was 12.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:28:04,699 INFO L168 Benchmark]: TraceAbstraction took 7534.68 ms. Allocated memory was 133.7 MB in the beginning and 196.6 MB in the end (delta: 62.9 MB). Free memory was 94.2 MB in the beginning and 74.6 MB in the end (delta: 19.7 MB). Peak memory consumption was 82.6 MB. Max. memory is 7.1 GB. [2019-05-15 10:28:04,704 INFO L337 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 133.7 MB. Free memory was 111.1 MB in the beginning and 110.9 MB in the end (delta: 210.3 kB). Peak memory consumption was 210.3 kB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 36.55 ms. Allocated memory is still 133.7 MB. Free memory was 109.7 MB in the beginning and 108.0 MB in the end (delta: 1.7 MB). Peak memory consumption was 1.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 25.42 ms. Allocated memory is still 133.7 MB. Free memory was 108.0 MB in the beginning and 106.7 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. * RCFGBuilder took 559.24 ms. Allocated memory is still 133.7 MB. Free memory was 106.7 MB in the beginning and 94.5 MB in the end (delta: 12.3 MB). Peak memory consumption was 12.3 MB. Max. memory is 7.1 GB. * TraceAbstraction took 7534.68 ms. Allocated memory was 133.7 MB in the beginning and 196.6 MB in the end (delta: 62.9 MB). Free memory was 94.2 MB in the beginning and 74.6 MB in the end (delta: 19.7 MB). Peak memory consumption was 82.6 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 19]: loop invariant is valid and assertion always holds For all program executions holds that loop invariant is valid and assertion always holds at this location - PositiveResult [Line: 25]: assertion always holds For all program executions holds that assertion always holds at this location - AllSpecificationsHoldResult: All specifications hold 2 specifications checked. All of them hold - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 11 locations, 2 error locations. SAFE Result, 7.4s OverallTime, 3 OverallIterations, 2 TraceHistogramMax, 1.7s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 12 SDtfs, 28 SDslu, 2 SDs, 0 SdLazy, 59 SolverSat, 9 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 20 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 3.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=11occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 3 MinimizatonAttempts, 1 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 5.3s InterpolantComputationTime, 20 NumberOfCodeBlocks, 20 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 17 ConstructedInterpolants, 3 QuantifiedInterpolants, 1166 SizeOfPredicates, 1 NumberOfNonLiveVariables, 28 ConjunctsInSsa, 13 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 3/3 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...