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/heapseparator/speedup-poc-dd-3-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1c58c86 [2019-05-15 10:28:32,629 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-05-15 10:28:32,632 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-05-15 10:28:32,645 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-15 10:28:32,646 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-05-15 10:28:32,648 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-15 10:28:32,650 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-05-15 10:28:32,652 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-05-15 10:28:32,655 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-05-15 10:28:32,656 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-05-15 10:28:32,665 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-05-15 10:28:32,665 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-05-15 10:28:32,666 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-05-15 10:28:32,668 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-05-15 10:28:32,669 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-05-15 10:28:32,672 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-15 10:28:32,673 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-05-15 10:28:32,677 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-15 10:28:32,681 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-05-15 10:28:32,683 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-05-15 10:28:32,688 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-05-15 10:28:32,691 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-05-15 10:28:32,696 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-15 10:28:32,696 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-15 10:28:32,697 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-05-15 10:28:32,698 INFO L174 SettingsManager]: Resetting IcfgToChc preferences to default values [2019-05-15 10:28:32,698 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-05-15 10:28:32,701 INFO L177 SettingsManager]: ReqToTest provides no preferences, ignoring... [2019-05-15 10:28:32,702 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-05-15 10:28:32,703 INFO L174 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2019-05-15 10:28:32,704 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-05-15 10:28:32,706 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-05-15 10:28:32,708 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-15 10:28:32,708 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-05-15 10:28:32,709 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-05-15 10:28:32,709 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-05-15 10:28:32,709 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-05-15 10:28:32,711 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-05-15 10:28:32,712 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:28:32,757 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-05-15 10:28:32,773 INFO L259 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-15 10:28:32,778 INFO L215 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-05-15 10:28:32,780 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-05-15 10:28:32,780 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2019-05-15 10:28:32,782 INFO L430 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-3-limited.bpl [2019-05-15 10:28:32,782 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-3-limited.bpl' [2019-05-15 10:28:32,838 INFO L297 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-05-15 10:28:32,841 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-05-15 10:28:32,842 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-15 10:28:32,842 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-05-15 10:28:32,842 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2019-05-15 10:28:32,861 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,877 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,905 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-15 10:28:32,906 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-05-15 10:28:32,906 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-05-15 10:28:32,906 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2019-05-15 10:28:32,918 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,918 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,919 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,920 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,923 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,927 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,928 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/1) ... [2019-05-15 10:28:32,930 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-15 10:28:32,930 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-05-15 10:28:32,930 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-05-15 10:28:32,931 INFO L275 PluginConnector]: RCFGBuilder initialized [2019-05-15 10:28:32,932 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (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:28:32,995 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2019-05-15 10:28:32,996 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-05-15 10:28:32,996 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-05-15 10:28:33,509 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-05-15 10:28:33,509 INFO L283 CfgBuilder]: Removed 3 assume(true) statements. [2019-05-15 10:28:33,510 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:28:33 BoogieIcfgContainer [2019-05-15 10:28:33,510 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-05-15 10:28:33,512 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-05-15 10:28:33,512 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-05-15 10:28:33,516 INFO L275 PluginConnector]: TraceAbstraction initialized [2019-05-15 10:28:33,516 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:32" (1/2) ... [2019-05-15 10:28:33,517 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@112ebadf and model type speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.05 10:28:33, skipping insertion in model container [2019-05-15 10:28:33,518 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-3-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:28:33" (2/2) ... [2019-05-15 10:28:33,520 INFO L109 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-3-limited.bpl [2019-05-15 10:28:33,531 INFO L152 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-15 10:28:33,540 INFO L164 ceAbstractionStarter]: Appying trace abstraction to program that has 3 error locations. [2019-05-15 10:28:33,559 INFO L252 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2019-05-15 10:28:33,588 INFO L127 ementStrategyFactory]: Using default assertion order modulation [2019-05-15 10:28:33,589 INFO L377 AbstractCegarLoop]: Interprodecural is true [2019-05-15 10:28:33,589 INFO L378 AbstractCegarLoop]: Hoare is false [2019-05-15 10:28:33,589 INFO L379 AbstractCegarLoop]: Compute interpolants for ForwardPredicates [2019-05-15 10:28:33,589 INFO L380 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-05-15 10:28:33,590 INFO L381 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-05-15 10:28:33,590 INFO L382 AbstractCegarLoop]: Difference is false [2019-05-15 10:28:33,590 INFO L383 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-05-15 10:28:33,590 INFO L388 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-15 10:28:33,606 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states. [2019-05-15 10:28:33,616 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2019-05-15 10:28:33,616 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:33,618 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:33,621 INFO L418 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:33,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:33,628 INFO L82 PathProgramCache]: Analyzing trace with hash -1631921452, now seen corresponding path program 1 times [2019-05-15 10:28:33,678 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:33,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:33,734 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 6 conjunts are in the unsatisfiable core [2019-05-15 10:28:33,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:33,760 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:34,023 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:28:34,024 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:34,102 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:34,103 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:34,104 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:34,120 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:34,121 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|]. (and (= (store |v_#memory_int_19| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:34,122 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:34,494 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:34,497 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:34,503 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:34,525 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:34,527 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:34,528 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:34,535 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:34,536 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_20|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_20| ULTIMATE.start_main_p2 0) |#memory_int|) (= 0 (select |v_#memory_int_20| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:34,536 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:34,687 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:34,693 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:34,699 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:34,702 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:34,711 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:34,750 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:34,752 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:34,753 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:34,759 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:34,759 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_21|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |v_#memory_int_21| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_21| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_21| ULTIMATE.start_main_p3 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:34,760 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:34,929 INFO L273 TraceCheckUtils]: 0: Hoare triple {20#true} havoc main_p1, main_p2, main_p3; {20#true} is VALID [2019-05-15 10:28:34,933 INFO L273 TraceCheckUtils]: 1: Hoare triple {20#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {20#true} is VALID [2019-05-15 10:28:34,934 INFO L273 TraceCheckUtils]: 2: Hoare triple {20#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {20#true} is VALID [2019-05-15 10:28:34,934 INFO L273 TraceCheckUtils]: 3: Hoare triple {20#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {20#true} is VALID [2019-05-15 10:28:34,936 INFO L273 TraceCheckUtils]: 4: Hoare triple {20#true} assume main_p1 < main_p2; {37#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:34,937 INFO L273 TraceCheckUtils]: 5: Hoare triple {37#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {41#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:34,938 INFO L273 TraceCheckUtils]: 6: Hoare triple {41#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {45#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:34,943 INFO L273 TraceCheckUtils]: 7: Hoare triple {45#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {49#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:34,945 INFO L273 TraceCheckUtils]: 8: Hoare triple {49#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {53#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:34,950 INFO L273 TraceCheckUtils]: 9: Hoare triple {53#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {21#false} is VALID [2019-05-15 10:28:34,953 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:28:34,956 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:28:34,957 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2019-05-15 10:28:34,963 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 10 [2019-05-15 10:28:34,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:34,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2019-05-15 10:28:35,016 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:35,017 INFO L454 AbstractCegarLoop]: Interpolant automaton has 7 states [2019-05-15 10:28:35,026 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2019-05-15 10:28:35,027 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2019-05-15 10:28:35,029 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 7 states. [2019-05-15 10:28:36,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:36,647 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2019-05-15 10:28:36,647 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-05-15 10:28:36,647 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 10 [2019-05-15 10:28:36,648 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:36,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:28:36,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 49 transitions. [2019-05-15 10:28:36,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:28:36,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 49 transitions. [2019-05-15 10:28:36,658 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 49 transitions. [2019-05-15 10:28:36,765 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:36,778 INFO L225 Difference]: With dead ends: 38 [2019-05-15 10:28:36,779 INFO L226 Difference]: Without dead ends: 30 [2019-05-15 10:28:36,781 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:36,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2019-05-15 10:28:36,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 16. [2019-05-15 10:28:36,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:36,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 16 states. [2019-05-15 10:28:36,817 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 16 states. [2019-05-15 10:28:36,817 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 16 states. [2019-05-15 10:28:36,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:36,822 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2019-05-15 10:28:36,823 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2019-05-15 10:28:36,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:36,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:36,824 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 30 states. [2019-05-15 10:28:36,824 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 30 states. [2019-05-15 10:28:36,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:36,829 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2019-05-15 10:28:36,829 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2019-05-15 10:28:36,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:36,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:36,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:36,831 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:36,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2019-05-15 10:28:36,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 21 transitions. [2019-05-15 10:28:36,835 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 21 transitions. Word has length 10 [2019-05-15 10:28:36,835 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:36,835 INFO L475 AbstractCegarLoop]: Abstraction has 16 states and 21 transitions. [2019-05-15 10:28:36,835 INFO L476 AbstractCegarLoop]: Interpolant automaton has 7 states. [2019-05-15 10:28:36,836 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 21 transitions. [2019-05-15 10:28:36,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2019-05-15 10:28:36,837 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:36,837 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:36,837 INFO L418 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:36,838 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:36,838 INFO L82 PathProgramCache]: Analyzing trace with hash 950042596, now seen corresponding path program 1 times [2019-05-15 10:28:36,839 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:36,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:36,855 INFO L256 TraceCheckSpWp]: Trace formula consists of 19 conjuncts, 4 conjunts are in the unsatisfiable core [2019-05-15 10:28:36,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:36,874 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:36,924 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:28:36,925 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:36,934 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:36,935 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:36,935 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:28:36,940 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:36,940 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_22|]. (and (= (store |v_#memory_int_22| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:36,941 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:37,004 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,006 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:37,008 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:37,021 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:37,022 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:37,022 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:15, output treesize:14 [2019-05-15 10:28:37,028 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:37,028 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_23|, ULTIMATE.start_main_p3]. (and (= |#memory_int| (store |v_#memory_int_23| ULTIMATE.start_main_p3 0)) (= (select |v_#memory_int_23| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:37,028 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:37,082 INFO L273 TraceCheckUtils]: 0: Hoare triple {174#true} havoc main_p1, main_p2, main_p3; {174#true} is VALID [2019-05-15 10:28:37,083 INFO L273 TraceCheckUtils]: 1: Hoare triple {174#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {174#true} is VALID [2019-05-15 10:28:37,083 INFO L273 TraceCheckUtils]: 2: Hoare triple {174#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {174#true} is VALID [2019-05-15 10:28:37,083 INFO L273 TraceCheckUtils]: 3: Hoare triple {174#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {174#true} is VALID [2019-05-15 10:28:37,084 INFO L273 TraceCheckUtils]: 4: Hoare triple {174#true} assume main_p1 < main_p2; {174#true} is VALID [2019-05-15 10:28:37,093 INFO L273 TraceCheckUtils]: 5: Hoare triple {174#true} assume main_p2 < main_p3; {194#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:28:37,106 INFO L273 TraceCheckUtils]: 6: Hoare triple {194#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {194#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:28:37,118 INFO L273 TraceCheckUtils]: 7: Hoare triple {194#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {201#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:28:37,119 INFO L273 TraceCheckUtils]: 8: Hoare triple {201#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {205#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:28:37,121 INFO L273 TraceCheckUtils]: 9: Hoare triple {205#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {205#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:28:37,122 INFO L273 TraceCheckUtils]: 10: Hoare triple {205#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {175#false} is VALID [2019-05-15 10:28:37,123 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:28:37,123 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:28:37,123 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2019-05-15 10:28:37,126 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 11 [2019-05-15 10:28:37,127 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:37,127 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2019-05-15 10:28:37,167 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:37,167 INFO L454 AbstractCegarLoop]: Interpolant automaton has 5 states [2019-05-15 10:28:37,167 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2019-05-15 10:28:37,168 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2019-05-15 10:28:37,168 INFO L87 Difference]: Start difference. First operand 16 states and 21 transitions. Second operand 5 states. [2019-05-15 10:28:37,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:37,469 INFO L93 Difference]: Finished difference Result 24 states and 33 transitions. [2019-05-15 10:28:37,469 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-05-15 10:28:37,470 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 11 [2019-05-15 10:28:37,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:37,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2019-05-15 10:28:37,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2019-05-15 10:28:37,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2019-05-15 10:28:37,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2019-05-15 10:28:37,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 31 transitions. [2019-05-15 10:28:37,532 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:37,534 INFO L225 Difference]: With dead ends: 24 [2019-05-15 10:28:37,535 INFO L226 Difference]: Without dead ends: 24 [2019-05-15 10:28:37,536 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2019-05-15 10:28:37,536 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2019-05-15 10:28:37,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 18. [2019-05-15 10:28:37,538 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:37,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 18 states. [2019-05-15 10:28:37,539 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 18 states. [2019-05-15 10:28:37,539 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 18 states. [2019-05-15 10:28:37,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:37,542 INFO L93 Difference]: Finished difference Result 24 states and 33 transitions. [2019-05-15 10:28:37,542 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2019-05-15 10:28:37,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:37,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:37,543 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 24 states. [2019-05-15 10:28:37,543 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 24 states. [2019-05-15 10:28:37,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:37,546 INFO L93 Difference]: Finished difference Result 24 states and 33 transitions. [2019-05-15 10:28:37,546 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2019-05-15 10:28:37,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:37,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:37,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:37,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:37,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2019-05-15 10:28:37,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 26 transitions. [2019-05-15 10:28:37,549 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 26 transitions. Word has length 11 [2019-05-15 10:28:37,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:37,549 INFO L475 AbstractCegarLoop]: Abstraction has 18 states and 26 transitions. [2019-05-15 10:28:37,549 INFO L476 AbstractCegarLoop]: Interpolant automaton has 5 states. [2019-05-15 10:28:37,550 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 26 transitions. [2019-05-15 10:28:37,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2019-05-15 10:28:37,550 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:37,550 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:37,551 INFO L418 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:37,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:37,551 INFO L82 PathProgramCache]: Analyzing trace with hash 950042284, now seen corresponding path program 1 times [2019-05-15 10:28:37,552 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:37,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:37,566 INFO L256 TraceCheckSpWp]: Trace formula consists of 19 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:28:37,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:37,578 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:37,646 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:28:37,646 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:37,655 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:37,656 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:37,656 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:37,660 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:37,660 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|]. (and (= (store |v_#memory_int_24| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:37,661 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:37,742 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,744 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:37,754 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:37,763 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:37,765 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:37,765 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:37,768 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:37,769 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_25|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_25| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_25| ULTIMATE.start_main_p1))) [2019-05-15 10:28:37,769 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:37,826 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,828 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,829 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,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, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:37,844 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:37,860 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:37,862 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:37,862 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:37,867 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:37,867 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_26| ULTIMATE.start_main_p3 0)) (= 0 (select |v_#memory_int_26| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_26| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:37,868 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:37,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,944 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,946 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:37,951 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:37,961 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:37,981 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:37,982 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:37,983 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:37,989 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:37,989 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_27| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_27| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_27| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_27| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:37,989 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:38,019 INFO L273 TraceCheckUtils]: 0: Hoare triple {303#true} havoc main_p1, main_p2, main_p3; {303#true} is VALID [2019-05-15 10:28:38,019 INFO L273 TraceCheckUtils]: 1: Hoare triple {303#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {303#true} is VALID [2019-05-15 10:28:38,020 INFO L273 TraceCheckUtils]: 2: Hoare triple {303#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {303#true} is VALID [2019-05-15 10:28:38,020 INFO L273 TraceCheckUtils]: 3: Hoare triple {303#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {303#true} is VALID [2019-05-15 10:28:38,022 INFO L273 TraceCheckUtils]: 4: Hoare triple {303#true} assume main_p1 < main_p2; {320#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:38,023 INFO L273 TraceCheckUtils]: 5: Hoare triple {320#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {324#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:38,024 INFO L273 TraceCheckUtils]: 6: Hoare triple {324#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {328#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:38,025 INFO L273 TraceCheckUtils]: 7: Hoare triple {328#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {332#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:38,027 INFO L273 TraceCheckUtils]: 8: Hoare triple {332#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {336#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:38,030 INFO L273 TraceCheckUtils]: 9: Hoare triple {336#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {340#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:38,032 INFO L273 TraceCheckUtils]: 10: Hoare triple {340#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {304#false} is VALID [2019-05-15 10:28:38,033 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:38,033 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:38,033 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:28:38,034 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 11 [2019-05-15 10:28:38,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:38,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:28:38,062 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:38,062 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:28:38,063 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:28:38,063 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:28:38,064 INFO L87 Difference]: Start difference. First operand 18 states and 26 transitions. Second operand 8 states. [2019-05-15 10:28:38,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:38,912 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2019-05-15 10:28:38,912 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:28:38,912 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 11 [2019-05-15 10:28:38,913 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:38,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:28:38,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 44 transitions. [2019-05-15 10:28:38,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:28:38,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 44 transitions. [2019-05-15 10:28:38,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 44 transitions. [2019-05-15 10:28:39,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:39,029 INFO L225 Difference]: With dead ends: 33 [2019-05-15 10:28:39,029 INFO L226 Difference]: Without dead ends: 33 [2019-05-15 10:28:39,029 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:28:39,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2019-05-15 10:28:39,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 20. [2019-05-15 10:28:39,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:39,033 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 20 states. [2019-05-15 10:28:39,033 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 20 states. [2019-05-15 10:28:39,033 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 20 states. [2019-05-15 10:28:39,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:39,037 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2019-05-15 10:28:39,038 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2019-05-15 10:28:39,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:39,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:39,039 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 33 states. [2019-05-15 10:28:39,039 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 33 states. [2019-05-15 10:28:39,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:39,042 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2019-05-15 10:28:39,042 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2019-05-15 10:28:39,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:39,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:39,043 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:39,043 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:39,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2019-05-15 10:28:39,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 34 transitions. [2019-05-15 10:28:39,045 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 34 transitions. Word has length 11 [2019-05-15 10:28:39,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:39,046 INFO L475 AbstractCegarLoop]: Abstraction has 20 states and 34 transitions. [2019-05-15 10:28:39,046 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:28:39,046 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 34 transitions. [2019-05-15 10:28:39,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2019-05-15 10:28:39,046 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:39,047 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:39,047 INFO L418 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:39,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:39,047 INFO L82 PathProgramCache]: Analyzing trace with hash -613456368, now seen corresponding path program 1 times [2019-05-15 10:28:39,048 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:39,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:39,062 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 5 conjunts are in the unsatisfiable core [2019-05-15 10:28:39,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:39,074 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:39,127 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:28:39,127 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:39,134 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:39,135 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:39,135 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:28:39,137 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:39,137 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|]. (and (= (store |v_#memory_int_28| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:39,138 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:39,166 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:39,168 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:39,170 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:39,180 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:39,181 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:39,181 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:15, output treesize:14 [2019-05-15 10:28:39,184 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:39,184 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_29|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_29| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_29| ULTIMATE.start_main_p3 0))) [2019-05-15 10:28:39,184 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:39,246 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:39,249 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 21 treesize of output 19 [2019-05-15 10:28:39,254 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:39,265 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:39,266 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:39,266 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:16 [2019-05-15 10:28:39,269 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:39,269 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_30| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_30| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_30| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:28:39,270 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:39,303 INFO L273 TraceCheckUtils]: 0: Hoare triple {468#true} havoc main_p1, main_p2, main_p3; {468#true} is VALID [2019-05-15 10:28:39,304 INFO L273 TraceCheckUtils]: 1: Hoare triple {468#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {468#true} is VALID [2019-05-15 10:28:39,304 INFO L273 TraceCheckUtils]: 2: Hoare triple {468#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {468#true} is VALID [2019-05-15 10:28:39,305 INFO L273 TraceCheckUtils]: 3: Hoare triple {468#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {468#true} is VALID [2019-05-15 10:28:39,305 INFO L273 TraceCheckUtils]: 4: Hoare triple {468#true} assume main_p1 < main_p2; {468#true} is VALID [2019-05-15 10:28:39,306 INFO L273 TraceCheckUtils]: 5: Hoare triple {468#true} assume main_p2 < main_p3; {488#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:28:39,307 INFO L273 TraceCheckUtils]: 6: Hoare triple {488#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {488#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:28:39,308 INFO L273 TraceCheckUtils]: 7: Hoare triple {488#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {495#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:28:39,313 INFO L273 TraceCheckUtils]: 8: Hoare triple {495#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {499#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:28:39,315 INFO L273 TraceCheckUtils]: 9: Hoare triple {499#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {503#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-05-15 10:28:39,319 INFO L273 TraceCheckUtils]: 10: Hoare triple {503#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {503#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-05-15 10:28:39,321 INFO L273 TraceCheckUtils]: 11: Hoare triple {503#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {469#false} is VALID [2019-05-15 10:28:39,322 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:39,322 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:39,322 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2019-05-15 10:28:39,322 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 12 [2019-05-15 10:28:39,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:39,323 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-05-15 10:28:39,354 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:39,354 INFO L454 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-05-15 10:28:39,354 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-05-15 10:28:39,354 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2019-05-15 10:28:39,355 INFO L87 Difference]: Start difference. First operand 20 states and 34 transitions. Second operand 6 states. [2019-05-15 10:28:39,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:39,782 INFO L93 Difference]: Finished difference Result 29 states and 43 transitions. [2019-05-15 10:28:39,782 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-05-15 10:28:39,782 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 12 [2019-05-15 10:28:39,783 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:39,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-05-15 10:28:39,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 36 transitions. [2019-05-15 10:28:39,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-05-15 10:28:39,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 36 transitions. [2019-05-15 10:28:39,786 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 36 transitions. [2019-05-15 10:28:39,838 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:39,840 INFO L225 Difference]: With dead ends: 29 [2019-05-15 10:28:39,841 INFO L226 Difference]: Without dead ends: 29 [2019-05-15 10:28:39,841 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:28:39,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2019-05-15 10:28:39,844 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 21. [2019-05-15 10:28:39,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:39,844 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 21 states. [2019-05-15 10:28:39,844 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 21 states. [2019-05-15 10:28:39,844 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 21 states. [2019-05-15 10:28:39,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:39,847 INFO L93 Difference]: Finished difference Result 29 states and 43 transitions. [2019-05-15 10:28:39,847 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 43 transitions. [2019-05-15 10:28:39,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:39,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:39,848 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 29 states. [2019-05-15 10:28:39,848 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 29 states. [2019-05-15 10:28:39,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:39,851 INFO L93 Difference]: Finished difference Result 29 states and 43 transitions. [2019-05-15 10:28:39,851 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 43 transitions. [2019-05-15 10:28:39,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:39,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:39,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:39,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:39,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2019-05-15 10:28:39,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 38 transitions. [2019-05-15 10:28:39,854 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 38 transitions. Word has length 12 [2019-05-15 10:28:39,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:39,854 INFO L475 AbstractCegarLoop]: Abstraction has 21 states and 38 transitions. [2019-05-15 10:28:39,854 INFO L476 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-05-15 10:28:39,855 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 38 transitions. [2019-05-15 10:28:39,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2019-05-15 10:28:39,855 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:39,856 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:39,856 INFO L418 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:39,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:39,856 INFO L82 PathProgramCache]: Analyzing trace with hash -613456680, now seen corresponding path program 1 times [2019-05-15 10:28:39,858 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:39,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:39,873 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:28:39,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:39,898 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:39,981 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:28:39,982 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:39,993 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:39,993 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:39,994 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:39,996 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:39,997 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|]. (and (= (store |v_#memory_int_31| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:39,997 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:40,038 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,040 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:40,041 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:40,051 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:40,052 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:40,052 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:40,102 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,103 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,106 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,108 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:40,114 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:40,128 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:40,129 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:40,130 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:40,133 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:40,133 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_33| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:40,134 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:40,202 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,204 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,206 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,212 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:40,215 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:40,233 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:40,234 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:40,235 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:28:40,241 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:40,241 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_34| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_34| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_34| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:40,242 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:40,295 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,297 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,299 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:40,302 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:28:40,305 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:40,320 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:40,324 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:40,324 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:28:40,329 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:40,330 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_35| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= (store |v_#memory_int_35| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_35| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_35| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:40,330 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:28:40,361 INFO L273 TraceCheckUtils]: 0: Hoare triple {621#true} havoc main_p1, main_p2, main_p3; {621#true} is VALID [2019-05-15 10:28:40,362 INFO L273 TraceCheckUtils]: 1: Hoare triple {621#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {621#true} is VALID [2019-05-15 10:28:40,362 INFO L273 TraceCheckUtils]: 2: Hoare triple {621#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {621#true} is VALID [2019-05-15 10:28:40,362 INFO L273 TraceCheckUtils]: 3: Hoare triple {621#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {621#true} is VALID [2019-05-15 10:28:40,363 INFO L273 TraceCheckUtils]: 4: Hoare triple {621#true} assume main_p1 < main_p2; {638#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:40,364 INFO L273 TraceCheckUtils]: 5: Hoare triple {638#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {642#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:40,365 INFO L273 TraceCheckUtils]: 6: Hoare triple {642#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {646#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:40,376 INFO L273 TraceCheckUtils]: 7: Hoare triple {646#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {650#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:40,380 INFO L273 TraceCheckUtils]: 8: Hoare triple {650#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {654#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:40,382 INFO L273 TraceCheckUtils]: 9: Hoare triple {654#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {658#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:40,384 INFO L273 TraceCheckUtils]: 10: Hoare triple {658#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {662#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:28:40,385 INFO L273 TraceCheckUtils]: 11: Hoare triple {662#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {622#false} is VALID [2019-05-15 10:28:40,387 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:40,388 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:40,388 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:28:40,389 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:40,389 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:40,390 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:28:40,431 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:40,431 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:28:40,432 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:28:40,432 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:40,432 INFO L87 Difference]: Start difference. First operand 21 states and 38 transitions. Second operand 9 states. [2019-05-15 10:28:41,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:41,267 INFO L93 Difference]: Finished difference Result 38 states and 53 transitions. [2019-05-15 10:28:41,267 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:28:41,267 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:41,268 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:41,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:41,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2019-05-15 10:28:41,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:41,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2019-05-15 10:28:41,271 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 50 transitions. [2019-05-15 10:28:41,377 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:41,379 INFO L225 Difference]: With dead ends: 38 [2019-05-15 10:28:41,380 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:28:41,380 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:28:41,381 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:28:41,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 21. [2019-05-15 10:28:41,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:41,384 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 21 states. [2019-05-15 10:28:41,384 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 21 states. [2019-05-15 10:28:41,384 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 21 states. [2019-05-15 10:28:41,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:41,387 INFO L93 Difference]: Finished difference Result 38 states and 53 transitions. [2019-05-15 10:28:41,387 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 53 transitions. [2019-05-15 10:28:41,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:41,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:41,388 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 38 states. [2019-05-15 10:28:41,388 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 38 states. [2019-05-15 10:28:41,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:41,390 INFO L93 Difference]: Finished difference Result 38 states and 53 transitions. [2019-05-15 10:28:41,390 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 53 transitions. [2019-05-15 10:28:41,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:41,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:41,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:41,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:41,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2019-05-15 10:28:41,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 38 transitions. [2019-05-15 10:28:41,393 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 38 transitions. Word has length 12 [2019-05-15 10:28:41,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:41,393 INFO L475 AbstractCegarLoop]: Abstraction has 21 states and 38 transitions. [2019-05-15 10:28:41,393 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:28:41,394 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 38 transitions. [2019-05-15 10:28:41,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2019-05-15 10:28:41,394 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:41,394 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:41,395 INFO L418 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:41,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:41,395 INFO L82 PathProgramCache]: Analyzing trace with hash -613454758, now seen corresponding path program 1 times [2019-05-15 10:28:41,396 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:41,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:41,410 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:28:41,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:41,424 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:41,500 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:28:41,501 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:41,576 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:41,577 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:41,577 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:41,581 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:41,581 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|]. (and (= (store |v_#memory_int_36| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:41,582 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:41,624 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:41,628 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:41,629 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:41,639 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:41,640 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:41,641 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:41,645 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:41,646 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_37| ULTIMATE.start_main_p2 0)) (= (select |v_#memory_int_37| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:41,646 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:41,696 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:41,697 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:41,699 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:41,702 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:41,705 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:41,755 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:41,756 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:41,757 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:41,858 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:41,860 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:41,862 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:41,866 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:41,904 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:41,965 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:41,966 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:41,967 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:41,972 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:41,972 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_39| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= (select |v_#memory_int_39| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_39| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_39| ULTIMATE.start_main_p1) 0))) [2019-05-15 10:28:41,973 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:42,059 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:42,060 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:42,063 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:42,065 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:42,068 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:42,080 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:42,081 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:42,081 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:42,086 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:42,086 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_40|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_40| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_40| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_40| ULTIMATE.start_main_p3) 1) (= (store |v_#memory_int_40| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:42,087 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:42,129 INFO L273 TraceCheckUtils]: 0: Hoare triple {806#true} havoc main_p1, main_p2, main_p3; {806#true} is VALID [2019-05-15 10:28:42,129 INFO L273 TraceCheckUtils]: 1: Hoare triple {806#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {806#true} is VALID [2019-05-15 10:28:42,129 INFO L273 TraceCheckUtils]: 2: Hoare triple {806#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {806#true} is VALID [2019-05-15 10:28:42,130 INFO L273 TraceCheckUtils]: 3: Hoare triple {806#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {806#true} is VALID [2019-05-15 10:28:42,130 INFO L273 TraceCheckUtils]: 4: Hoare triple {806#true} assume main_p1 < main_p2; {823#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:42,131 INFO L273 TraceCheckUtils]: 5: Hoare triple {823#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {827#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:42,132 INFO L273 TraceCheckUtils]: 6: Hoare triple {827#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:42,136 INFO L273 TraceCheckUtils]: 7: Hoare triple {831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:42,139 INFO L273 TraceCheckUtils]: 8: Hoare triple {835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:42,141 INFO L273 TraceCheckUtils]: 9: Hoare triple {839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {843#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:42,143 INFO L273 TraceCheckUtils]: 10: Hoare triple {843#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:42,147 INFO L273 TraceCheckUtils]: 11: Hoare triple {847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {807#false} is VALID [2019-05-15 10:28:42,148 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:42,149 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:42,149 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:28:42,149 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:42,150 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:42,150 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:28:42,175 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:42,175 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:28:42,176 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:28:42,176 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:42,176 INFO L87 Difference]: Start difference. First operand 21 states and 38 transitions. Second operand 9 states. [2019-05-15 10:28:42,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:42,984 INFO L93 Difference]: Finished difference Result 39 states and 57 transitions. [2019-05-15 10:28:42,984 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:28:42,985 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:42,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:42,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:42,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2019-05-15 10:28:42,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:42,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2019-05-15 10:28:42,988 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 50 transitions. [2019-05-15 10:28:43,079 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:43,083 INFO L225 Difference]: With dead ends: 39 [2019-05-15 10:28:43,083 INFO L226 Difference]: Without dead ends: 37 [2019-05-15 10:28:43,083 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:28:43,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2019-05-15 10:28:43,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 22. [2019-05-15 10:28:43,087 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:43,087 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 22 states. [2019-05-15 10:28:43,087 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 22 states. [2019-05-15 10:28:43,088 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 22 states. [2019-05-15 10:28:43,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:43,094 INFO L93 Difference]: Finished difference Result 37 states and 55 transitions. [2019-05-15 10:28:43,094 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 55 transitions. [2019-05-15 10:28:43,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:43,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:43,095 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 37 states. [2019-05-15 10:28:43,095 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 37 states. [2019-05-15 10:28:43,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:43,098 INFO L93 Difference]: Finished difference Result 37 states and 55 transitions. [2019-05-15 10:28:43,098 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 55 transitions. [2019-05-15 10:28:43,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:43,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:43,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:43,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:43,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2019-05-15 10:28:43,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 41 transitions. [2019-05-15 10:28:43,101 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 41 transitions. Word has length 12 [2019-05-15 10:28:43,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:43,101 INFO L475 AbstractCegarLoop]: Abstraction has 22 states and 41 transitions. [2019-05-15 10:28:43,101 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:28:43,101 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 41 transitions. [2019-05-15 10:28:43,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2019-05-15 10:28:43,102 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:43,102 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:43,102 INFO L418 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:43,103 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:43,103 INFO L82 PathProgramCache]: Analyzing trace with hash -613460400, now seen corresponding path program 2 times [2019-05-15 10:28:43,104 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:43,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:43,120 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:28:43,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:43,159 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:43,212 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:28:43,212 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:43,219 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:43,220 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:43,220 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:43,223 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:43,224 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|]. (and (= (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:43,224 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:43,260 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,262 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:43,263 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:43,273 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:43,273 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:43,274 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:43,310 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,311 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,313 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,315 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:43,318 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:43,329 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:43,330 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:43,331 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:43,336 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:43,336 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_43| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_43| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_43| ULTIMATE.start_main_p3 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:43,336 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:43,385 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,386 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,388 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,390 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:43,393 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:43,405 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:43,406 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:43,407 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:43,417 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:43,417 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_44| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (select |v_#memory_int_44| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_44| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_44| ULTIMATE.start_main_p3)))) [2019-05-15 10:28:43,417 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:43,469 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,470 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,472 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:43,474 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:43,480 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:43,493 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:43,494 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:43,495 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:28:45,285 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:45,285 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_45| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_45| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_45| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_45| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:45,286 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:45,308 INFO L273 TraceCheckUtils]: 0: Hoare triple {993#true} havoc main_p1, main_p2, main_p3; {993#true} is VALID [2019-05-15 10:28:45,309 INFO L273 TraceCheckUtils]: 1: Hoare triple {993#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {993#true} is VALID [2019-05-15 10:28:45,309 INFO L273 TraceCheckUtils]: 2: Hoare triple {993#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {993#true} is VALID [2019-05-15 10:28:45,310 INFO L273 TraceCheckUtils]: 3: Hoare triple {993#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {993#true} is VALID [2019-05-15 10:28:45,310 INFO L273 TraceCheckUtils]: 4: Hoare triple {993#true} assume main_p1 < main_p2; {1010#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:45,311 INFO L273 TraceCheckUtils]: 5: Hoare triple {1010#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {1014#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:45,312 INFO L273 TraceCheckUtils]: 6: Hoare triple {1014#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {1018#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:45,312 INFO L273 TraceCheckUtils]: 7: Hoare triple {1018#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {1022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:45,316 INFO L273 TraceCheckUtils]: 8: Hoare triple {1022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {1026#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:45,317 INFO L273 TraceCheckUtils]: 9: Hoare triple {1026#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1030#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:45,319 INFO L273 TraceCheckUtils]: 10: Hoare triple {1030#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1034#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:45,320 INFO L273 TraceCheckUtils]: 11: Hoare triple {1034#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {994#false} is VALID [2019-05-15 10:28:45,322 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:45,322 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:45,322 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:28:45,323 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:45,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:45,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:28:45,342 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:45,342 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:28:45,343 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:28:45,343 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:45,343 INFO L87 Difference]: Start difference. First operand 22 states and 41 transitions. Second operand 9 states. [2019-05-15 10:28:46,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:46,163 INFO L93 Difference]: Finished difference Result 38 states and 59 transitions. [2019-05-15 10:28:46,163 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:28:46,163 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:46,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:46,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:46,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 48 transitions. [2019-05-15 10:28:46,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:46,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 48 transitions. [2019-05-15 10:28:46,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 48 transitions. [2019-05-15 10:28:46,256 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:46,257 INFO L225 Difference]: With dead ends: 38 [2019-05-15 10:28:46,257 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:28:46,258 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:28:46,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:28:46,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 23. [2019-05-15 10:28:46,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:46,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 23 states. [2019-05-15 10:28:46,261 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 23 states. [2019-05-15 10:28:46,261 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 23 states. [2019-05-15 10:28:46,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:46,263 INFO L93 Difference]: Finished difference Result 38 states and 59 transitions. [2019-05-15 10:28:46,263 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 59 transitions. [2019-05-15 10:28:46,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:46,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:46,264 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 38 states. [2019-05-15 10:28:46,264 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 38 states. [2019-05-15 10:28:46,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:46,266 INFO L93 Difference]: Finished difference Result 38 states and 59 transitions. [2019-05-15 10:28:46,267 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 59 transitions. [2019-05-15 10:28:46,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:46,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:46,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:46,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:46,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2019-05-15 10:28:46,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 45 transitions. [2019-05-15 10:28:46,269 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 45 transitions. Word has length 12 [2019-05-15 10:28:46,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:46,269 INFO L475 AbstractCegarLoop]: Abstraction has 23 states and 45 transitions. [2019-05-15 10:28:46,269 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:28:46,270 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 45 transitions. [2019-05-15 10:28:46,270 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2019-05-15 10:28:46,270 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:46,270 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:46,271 INFO L418 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:46,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:46,271 INFO L82 PathProgramCache]: Analyzing trace with hash -613460338, now seen corresponding path program 2 times [2019-05-15 10:28:46,272 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:46,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:46,289 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:28:46,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:46,306 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:46,365 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:28:46,365 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:46,372 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:46,372 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:46,373 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:46,375 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:46,375 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|]. (and (= (store |v_#memory_int_46| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:46,375 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:46,401 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,402 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:46,404 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:46,413 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:46,414 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:46,415 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:46,417 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:46,418 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_47| ULTIMATE.start_main_p2 0)) (= (select |v_#memory_int_47| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:46,418 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:46,447 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,449 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,450 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,452 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:46,454 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:46,464 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:46,465 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:46,466 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:46,507 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,509 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,510 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,512 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:46,515 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:46,525 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:46,526 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:46,527 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:46,531 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:46,531 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_49| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_49| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_49| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_49| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:46,531 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:46,574 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,576 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,577 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:46,579 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:46,581 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:46,590 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:46,591 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:46,592 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:46,602 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:46,602 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= 1 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:28:46,602 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:46,638 INFO L273 TraceCheckUtils]: 0: Hoare triple {1180#true} havoc main_p1, main_p2, main_p3; {1180#true} is VALID [2019-05-15 10:28:46,638 INFO L273 TraceCheckUtils]: 1: Hoare triple {1180#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1180#true} is VALID [2019-05-15 10:28:46,639 INFO L273 TraceCheckUtils]: 2: Hoare triple {1180#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1180#true} is VALID [2019-05-15 10:28:46,639 INFO L273 TraceCheckUtils]: 3: Hoare triple {1180#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1180#true} is VALID [2019-05-15 10:28:46,640 INFO L273 TraceCheckUtils]: 4: Hoare triple {1180#true} assume main_p1 < main_p2; {1197#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:46,641 INFO L273 TraceCheckUtils]: 5: Hoare triple {1197#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {1201#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:46,642 INFO L273 TraceCheckUtils]: 6: Hoare triple {1201#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {1205#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:46,643 INFO L273 TraceCheckUtils]: 7: Hoare triple {1205#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {1209#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:46,644 INFO L273 TraceCheckUtils]: 8: Hoare triple {1209#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:46,646 INFO L273 TraceCheckUtils]: 9: Hoare triple {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:46,648 INFO L273 TraceCheckUtils]: 10: Hoare triple {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1221#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:46,649 INFO L273 TraceCheckUtils]: 11: Hoare triple {1221#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1181#false} is VALID [2019-05-15 10:28:46,650 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:46,650 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:46,650 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:28:46,651 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:46,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:46,651 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:28:46,668 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:46,668 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:28:46,668 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:28:46,669 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:46,669 INFO L87 Difference]: Start difference. First operand 23 states and 45 transitions. Second operand 9 states. [2019-05-15 10:28:47,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:47,337 INFO L93 Difference]: Finished difference Result 37 states and 58 transitions. [2019-05-15 10:28:47,337 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:28:47,337 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:47,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:47,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:47,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 47 transitions. [2019-05-15 10:28:47,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:47,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 47 transitions. [2019-05-15 10:28:47,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 47 transitions. [2019-05-15 10:28:47,441 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:47,442 INFO L225 Difference]: With dead ends: 37 [2019-05-15 10:28:47,443 INFO L226 Difference]: Without dead ends: 35 [2019-05-15 10:28:47,443 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:28:47,444 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2019-05-15 10:28:47,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 23. [2019-05-15 10:28:47,446 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:47,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 23 states. [2019-05-15 10:28:47,446 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 23 states. [2019-05-15 10:28:47,446 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 23 states. [2019-05-15 10:28:47,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:47,448 INFO L93 Difference]: Finished difference Result 35 states and 56 transitions. [2019-05-15 10:28:47,448 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 56 transitions. [2019-05-15 10:28:47,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:47,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:47,449 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 35 states. [2019-05-15 10:28:47,449 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 35 states. [2019-05-15 10:28:47,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:47,451 INFO L93 Difference]: Finished difference Result 35 states and 56 transitions. [2019-05-15 10:28:47,451 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 56 transitions. [2019-05-15 10:28:47,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:47,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:47,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:47,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:47,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2019-05-15 10:28:47,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 44 transitions. [2019-05-15 10:28:47,454 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 44 transitions. Word has length 12 [2019-05-15 10:28:47,454 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:47,454 INFO L475 AbstractCegarLoop]: Abstraction has 23 states and 44 transitions. [2019-05-15 10:28:47,454 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:28:47,454 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 44 transitions. [2019-05-15 10:28:47,454 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2019-05-15 10:28:47,455 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:47,455 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:47,455 INFO L418 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:47,455 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:47,455 INFO L82 PathProgramCache]: Analyzing trace with hash -613460524, now seen corresponding path program 2 times [2019-05-15 10:28:47,456 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:47,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:47,467 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:28:47,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:47,484 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:47,568 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:28:47,569 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,578 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:47,578 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,579 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:47,582 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:47,582 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|]. (and (= (store |v_#memory_int_51| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:47,582 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:47,647 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,648 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:47,649 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,660 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:47,661 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:47,661 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:47,663 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:47,664 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_52|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_52| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_52| ULTIMATE.start_main_p2 0) |#memory_int|)) [2019-05-15 10:28:47,664 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:47,696 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,698 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,699 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,700 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:47,703 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,717 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:47,718 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:47,718 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:47,721 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:47,722 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_53|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_53| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_53| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_53| ULTIMATE.start_main_p1) 0)) [2019-05-15 10:28:47,722 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:47,772 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,774 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,775 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,777 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:47,781 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,790 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:47,791 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:47,792 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:47,797 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:47,797 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_54| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_54| ULTIMATE.start_main_p2)) (= .cse0 0) (= (store |v_#memory_int_54| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_54| ULTIMATE.start_main_p3)))) [2019-05-15 10:28:47,798 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:47,854 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,855 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,859 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,861 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:47,872 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,884 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:47,885 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:47,885 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:28:47,891 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:47,892 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_55| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:47,892 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:47,915 INFO L273 TraceCheckUtils]: 0: Hoare triple {1362#true} havoc main_p1, main_p2, main_p3; {1362#true} is VALID [2019-05-15 10:28:47,916 INFO L273 TraceCheckUtils]: 1: Hoare triple {1362#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1362#true} is VALID [2019-05-15 10:28:47,916 INFO L273 TraceCheckUtils]: 2: Hoare triple {1362#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1362#true} is VALID [2019-05-15 10:28:47,916 INFO L273 TraceCheckUtils]: 3: Hoare triple {1362#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1362#true} is VALID [2019-05-15 10:28:47,917 INFO L273 TraceCheckUtils]: 4: Hoare triple {1362#true} assume main_p1 < main_p2; {1379#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:47,917 INFO L273 TraceCheckUtils]: 5: Hoare triple {1379#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {1383#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:47,918 INFO L273 TraceCheckUtils]: 6: Hoare triple {1383#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {1387#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:47,919 INFO L273 TraceCheckUtils]: 7: Hoare triple {1387#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {1391#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:47,920 INFO L273 TraceCheckUtils]: 8: Hoare triple {1391#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {1395#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:47,922 INFO L273 TraceCheckUtils]: 9: Hoare triple {1395#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1399#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:47,925 INFO L273 TraceCheckUtils]: 10: Hoare triple {1399#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1403#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:47,926 INFO L273 TraceCheckUtils]: 11: Hoare triple {1403#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1363#false} is VALID [2019-05-15 10:28:47,927 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:47,928 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:47,928 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:28:47,929 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:47,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:47,929 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:28:47,947 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:47,947 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:28:47,947 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:28:47,948 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:47,948 INFO L87 Difference]: Start difference. First operand 23 states and 44 transitions. Second operand 9 states. [2019-05-15 10:28:48,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:48,762 INFO L93 Difference]: Finished difference Result 35 states and 56 transitions. [2019-05-15 10:28:48,762 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:28:48,763 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 12 [2019-05-15 10:28:48,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:48,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:48,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 44 transitions. [2019-05-15 10:28:48,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:48,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 44 transitions. [2019-05-15 10:28:48,765 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 44 transitions. [2019-05-15 10:28:48,895 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:48,899 INFO L225 Difference]: With dead ends: 35 [2019-05-15 10:28:48,899 INFO L226 Difference]: Without dead ends: 35 [2019-05-15 10:28:48,900 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=42, Invalid=114, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:28:48,900 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2019-05-15 10:28:48,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 23. [2019-05-15 10:28:48,904 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:48,904 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 23 states. [2019-05-15 10:28:48,904 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 23 states. [2019-05-15 10:28:48,904 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 23 states. [2019-05-15 10:28:48,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:48,905 INFO L93 Difference]: Finished difference Result 35 states and 56 transitions. [2019-05-15 10:28:48,906 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 56 transitions. [2019-05-15 10:28:48,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:48,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:48,909 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 35 states. [2019-05-15 10:28:48,909 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 35 states. [2019-05-15 10:28:48,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:48,910 INFO L93 Difference]: Finished difference Result 35 states and 56 transitions. [2019-05-15 10:28:48,910 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 56 transitions. [2019-05-15 10:28:48,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:48,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:48,911 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:48,911 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:48,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2019-05-15 10:28:48,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 44 transitions. [2019-05-15 10:28:48,912 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 44 transitions. Word has length 12 [2019-05-15 10:28:48,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:48,912 INFO L475 AbstractCegarLoop]: Abstraction has 23 states and 44 transitions. [2019-05-15 10:28:48,912 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:28:48,913 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 44 transitions. [2019-05-15 10:28:48,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:28:48,913 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:48,913 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:48,913 INFO L418 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:48,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:48,914 INFO L82 PathProgramCache]: Analyzing trace with hash -1837283996, now seen corresponding path program 2 times [2019-05-15 10:28:48,915 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:48,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:48,936 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 6 conjunts are in the unsatisfiable core [2019-05-15 10:28:48,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:48,946 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:48,985 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:28:48,985 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:48,993 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:48,994 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:48,994 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:28:48,997 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:48,997 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_56|]. (and (= |#memory_int| (store |v_#memory_int_56| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:48,997 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:49,028 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:49,029 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:49,030 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:49,037 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:49,038 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:49,039 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:15, output treesize:14 [2019-05-15 10:28:49,042 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:49,042 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3]. (and (= (store |v_#memory_int_57| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_57| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:49,042 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:49,074 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:49,075 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 21 treesize of output 19 [2019-05-15 10:28:49,077 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:49,085 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:49,086 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:49,086 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:16 [2019-05-15 10:28:49,090 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:49,090 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_58| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_58| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_58| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:28:49,091 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:49,123 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:49,124 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 23 treesize of output 21 [2019-05-15 10:28:49,135 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:49,143 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:49,144 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:49,144 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:28:49,148 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:49,148 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_59| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_59| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ .cse0 1)))) [2019-05-15 10:28:49,148 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:49,175 INFO L273 TraceCheckUtils]: 0: Hoare triple {1542#true} havoc main_p1, main_p2, main_p3; {1542#true} is VALID [2019-05-15 10:28:49,176 INFO L273 TraceCheckUtils]: 1: Hoare triple {1542#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1542#true} is VALID [2019-05-15 10:28:49,176 INFO L273 TraceCheckUtils]: 2: Hoare triple {1542#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1542#true} is VALID [2019-05-15 10:28:49,176 INFO L273 TraceCheckUtils]: 3: Hoare triple {1542#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1542#true} is VALID [2019-05-15 10:28:49,177 INFO L273 TraceCheckUtils]: 4: Hoare triple {1542#true} assume main_p1 < main_p2; {1542#true} is VALID [2019-05-15 10:28:49,181 INFO L273 TraceCheckUtils]: 5: Hoare triple {1542#true} assume main_p2 < main_p3; {1562#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:28:49,182 INFO L273 TraceCheckUtils]: 6: Hoare triple {1562#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {1562#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:28:49,183 INFO L273 TraceCheckUtils]: 7: Hoare triple {1562#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {1569#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:28:49,184 INFO L273 TraceCheckUtils]: 8: Hoare triple {1569#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {1573#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:28:49,186 INFO L273 TraceCheckUtils]: 9: Hoare triple {1573#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1577#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-05-15 10:28:49,188 INFO L273 TraceCheckUtils]: 10: Hoare triple {1577#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1581#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:28:49,189 INFO L273 TraceCheckUtils]: 11: Hoare triple {1581#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {1581#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:28:49,190 INFO L273 TraceCheckUtils]: 12: Hoare triple {1581#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {1543#false} is VALID [2019-05-15 10:28:49,190 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:49,191 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:49,191 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2019-05-15 10:28:49,191 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2019-05-15 10:28:49,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:49,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2019-05-15 10:28:49,253 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:49,253 INFO L454 AbstractCegarLoop]: Interpolant automaton has 7 states [2019-05-15 10:28:49,253 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2019-05-15 10:28:49,253 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2019-05-15 10:28:49,254 INFO L87 Difference]: Start difference. First operand 23 states and 44 transitions. Second operand 7 states. [2019-05-15 10:28:49,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:49,794 INFO L93 Difference]: Finished difference Result 32 states and 53 transitions. [2019-05-15 10:28:49,794 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-05-15 10:28:49,794 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2019-05-15 10:28:49,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:49,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:28:49,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2019-05-15 10:28:49,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:28:49,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2019-05-15 10:28:49,796 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 39 transitions. [2019-05-15 10:28:49,846 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:49,847 INFO L225 Difference]: With dead ends: 32 [2019-05-15 10:28:49,848 INFO L226 Difference]: Without dead ends: 32 [2019-05-15 10:28:49,848 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:28:49,848 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2019-05-15 10:28:49,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 24. [2019-05-15 10:28:49,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:49,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 24 states. [2019-05-15 10:28:49,851 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 24 states. [2019-05-15 10:28:49,851 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 24 states. [2019-05-15 10:28:49,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:49,852 INFO L93 Difference]: Finished difference Result 32 states and 53 transitions. [2019-05-15 10:28:49,852 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 53 transitions. [2019-05-15 10:28:49,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:49,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:49,853 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 32 states. [2019-05-15 10:28:49,853 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 32 states. [2019-05-15 10:28:49,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:49,854 INFO L93 Difference]: Finished difference Result 32 states and 53 transitions. [2019-05-15 10:28:49,854 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 53 transitions. [2019-05-15 10:28:49,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:49,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:49,855 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:49,855 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:49,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-05-15 10:28:49,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 48 transitions. [2019-05-15 10:28:49,856 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 48 transitions. Word has length 13 [2019-05-15 10:28:49,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:49,856 INFO L475 AbstractCegarLoop]: Abstraction has 24 states and 48 transitions. [2019-05-15 10:28:49,857 INFO L476 AbstractCegarLoop]: Interpolant automaton has 7 states. [2019-05-15 10:28:49,857 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 48 transitions. [2019-05-15 10:28:49,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:28:49,857 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:49,857 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:49,857 INFO L418 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:49,858 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:49,858 INFO L82 PathProgramCache]: Analyzing trace with hash -1837284308, now seen corresponding path program 3 times [2019-05-15 10:28:49,859 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:49,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:49,871 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:28:49,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:49,883 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:49,928 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:28:49,928 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:49,936 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:49,936 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:49,937 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:49,939 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:49,939 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_60|]. (and (= (store |v_#memory_int_60| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:49,940 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:49,966 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:49,968 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:49,969 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:49,978 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:49,978 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:49,978 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:50,034 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,036 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,037 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,038 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:28:50,040 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:50,051 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:50,051 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:50,052 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:50,055 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:50,055 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_62| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_62| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_62| ULTIMATE.start_main_p3 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:50,055 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:50,109 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,110 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,111 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,113 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:28:50,118 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:50,128 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:50,129 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:50,129 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:28:50,132 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:50,133 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_63| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_63| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_63| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_63| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:50,133 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:50,177 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,178 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,179 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,181 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:28:50,183 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:50,195 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:50,196 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:50,196 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:28:50,202 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:50,202 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_64| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_64| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_64| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:50,202 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:50,248 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,249 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,251 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:50,254 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:28:50,257 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:50,268 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:50,269 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:50,269 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:28:50,273 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:50,273 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_65|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_65| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_65| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (select |v_#memory_int_65| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_65| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:50,273 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:50,293 INFO L273 TraceCheckUtils]: 0: Hoare triple {1713#true} havoc main_p1, main_p2, main_p3; {1713#true} is VALID [2019-05-15 10:28:50,293 INFO L273 TraceCheckUtils]: 1: Hoare triple {1713#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1713#true} is VALID [2019-05-15 10:28:50,293 INFO L273 TraceCheckUtils]: 2: Hoare triple {1713#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1713#true} is VALID [2019-05-15 10:28:50,293 INFO L273 TraceCheckUtils]: 3: Hoare triple {1713#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1713#true} is VALID [2019-05-15 10:28:50,294 INFO L273 TraceCheckUtils]: 4: Hoare triple {1713#true} assume main_p1 < main_p2; {1730#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:50,312 INFO L273 TraceCheckUtils]: 5: Hoare triple {1730#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {1734#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:50,314 INFO L273 TraceCheckUtils]: 6: Hoare triple {1734#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {1738#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:50,314 INFO L273 TraceCheckUtils]: 7: Hoare triple {1738#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {1742#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:50,315 INFO L273 TraceCheckUtils]: 8: Hoare triple {1742#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {1746#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:50,317 INFO L273 TraceCheckUtils]: 9: Hoare triple {1746#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1750#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:50,321 INFO L273 TraceCheckUtils]: 10: Hoare triple {1750#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1754#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:50,327 INFO L273 TraceCheckUtils]: 11: Hoare triple {1754#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1758#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:50,328 INFO L273 TraceCheckUtils]: 12: Hoare triple {1758#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1714#false} is VALID [2019-05-15 10:28:50,329 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:28:50,329 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:50,329 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:28:50,330 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:28:50,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:50,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:28:50,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:50,348 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:28:50,348 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:28:50,348 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:28:50,349 INFO L87 Difference]: Start difference. First operand 24 states and 48 transitions. Second operand 10 states. [2019-05-15 10:28:51,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:51,303 INFO L93 Difference]: Finished difference Result 41 states and 63 transitions. [2019-05-15 10:28:51,303 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:28:51,303 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:28:51,303 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:51,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:28:51,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2019-05-15 10:28:51,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:28:51,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2019-05-15 10:28:51,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2019-05-15 10:28:51,417 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:51,418 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:28:51,418 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:28:51,419 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=49, Invalid=133, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:28:51,419 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:28:51,421 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 24. [2019-05-15 10:28:51,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:51,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 24 states. [2019-05-15 10:28:51,421 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 24 states. [2019-05-15 10:28:51,422 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 24 states. [2019-05-15 10:28:51,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:51,423 INFO L93 Difference]: Finished difference Result 41 states and 63 transitions. [2019-05-15 10:28:51,423 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 63 transitions. [2019-05-15 10:28:51,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:51,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:51,424 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 41 states. [2019-05-15 10:28:51,424 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 41 states. [2019-05-15 10:28:51,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:51,425 INFO L93 Difference]: Finished difference Result 41 states and 63 transitions. [2019-05-15 10:28:51,425 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 63 transitions. [2019-05-15 10:28:51,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:51,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:51,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:51,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:51,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-05-15 10:28:51,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 48 transitions. [2019-05-15 10:28:51,427 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 48 transitions. Word has length 13 [2019-05-15 10:28:51,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:51,427 INFO L475 AbstractCegarLoop]: Abstraction has 24 states and 48 transitions. [2019-05-15 10:28:51,427 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:28:51,427 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 48 transitions. [2019-05-15 10:28:51,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:28:51,428 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:51,428 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:51,428 INFO L418 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:51,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:51,428 INFO L82 PathProgramCache]: Analyzing trace with hash -1837282074, now seen corresponding path program 1 times [2019-05-15 10:28:51,429 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:51,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:51,440 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 6 conjunts are in the unsatisfiable core [2019-05-15 10:28:51,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:51,450 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:51,486 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:28:51,487 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,492 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,493 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,493 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:28:51,496 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:51,496 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_66|]. (and (= (store |v_#memory_int_66| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:51,496 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:51,535 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,537 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:28:51,538 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,544 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,544 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,545 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:28:51,578 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,579 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 21 treesize of output 19 [2019-05-15 10:28:51,582 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,587 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,588 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,588 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:28:51,598 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:51,598 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|]. (let ((.cse0 (select |v_#memory_int_68| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (store |v_#memory_int_68| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_68| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:28:51,598 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:51,627 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,629 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 23 treesize of output 21 [2019-05-15 10:28:51,631 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,637 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,638 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:51,639 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:29:03,857 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:03,858 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_69| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= (store |v_#memory_int_69| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_69| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:29:03,858 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:03,999 INFO L273 TraceCheckUtils]: 0: Hoare triple {1916#true} havoc main_p1, main_p2, main_p3; {1916#true} is VALID [2019-05-15 10:29:03,999 INFO L273 TraceCheckUtils]: 1: Hoare triple {1916#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1916#true} is VALID [2019-05-15 10:29:04,000 INFO L273 TraceCheckUtils]: 2: Hoare triple {1916#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1916#true} is VALID [2019-05-15 10:29:04,000 INFO L273 TraceCheckUtils]: 3: Hoare triple {1916#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1916#true} is VALID [2019-05-15 10:29:04,000 INFO L273 TraceCheckUtils]: 4: Hoare triple {1916#true} assume main_p1 < main_p2; {1916#true} is VALID [2019-05-15 10:29:04,000 INFO L273 TraceCheckUtils]: 5: Hoare triple {1916#true} assume main_p2 < main_p3; {1936#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:29:04,001 INFO L273 TraceCheckUtils]: 6: Hoare triple {1936#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {1936#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:29:04,001 INFO L273 TraceCheckUtils]: 7: Hoare triple {1936#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {1943#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:04,002 INFO L273 TraceCheckUtils]: 8: Hoare triple {1943#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {1947#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:04,003 INFO L273 TraceCheckUtils]: 9: Hoare triple {1947#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1951#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:04,004 INFO L273 TraceCheckUtils]: 10: Hoare triple {1951#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1955#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:29:04,005 INFO L273 TraceCheckUtils]: 11: Hoare triple {1955#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {1955#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:29:04,006 INFO L273 TraceCheckUtils]: 12: Hoare triple {1955#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {1917#false} is VALID [2019-05-15 10:29:04,007 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:04,008 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:04,008 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2019-05-15 10:29:04,008 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2019-05-15 10:29:04,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:04,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2019-05-15 10:29:04,024 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:04,024 INFO L454 AbstractCegarLoop]: Interpolant automaton has 7 states [2019-05-15 10:29:04,025 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2019-05-15 10:29:04,025 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2019-05-15 10:29:04,025 INFO L87 Difference]: Start difference. First operand 24 states and 48 transitions. Second operand 7 states. [2019-05-15 10:29:04,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:04,333 INFO L93 Difference]: Finished difference Result 33 states and 57 transitions. [2019-05-15 10:29:04,333 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-05-15 10:29:04,333 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2019-05-15 10:29:04,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:04,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:29:04,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2019-05-15 10:29:04,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:29:04,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2019-05-15 10:29:04,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 39 transitions. [2019-05-15 10:29:04,397 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:04,398 INFO L225 Difference]: With dead ends: 33 [2019-05-15 10:29:04,398 INFO L226 Difference]: Without dead ends: 31 [2019-05-15 10:29:04,399 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:29:04,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2019-05-15 10:29:04,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 25. [2019-05-15 10:29:04,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:04,401 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 25 states. [2019-05-15 10:29:04,401 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 25 states. [2019-05-15 10:29:04,401 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 25 states. [2019-05-15 10:29:04,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:04,403 INFO L93 Difference]: Finished difference Result 31 states and 55 transitions. [2019-05-15 10:29:04,403 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 55 transitions. [2019-05-15 10:29:04,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:04,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:04,403 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 31 states. [2019-05-15 10:29:04,403 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 31 states. [2019-05-15 10:29:04,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:04,404 INFO L93 Difference]: Finished difference Result 31 states and 55 transitions. [2019-05-15 10:29:04,405 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 55 transitions. [2019-05-15 10:29:04,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:04,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:04,405 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:04,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:04,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-05-15 10:29:04,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 51 transitions. [2019-05-15 10:29:04,406 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 51 transitions. Word has length 13 [2019-05-15 10:29:04,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:04,407 INFO L475 AbstractCegarLoop]: Abstraction has 25 states and 51 transitions. [2019-05-15 10:29:04,407 INFO L476 AbstractCegarLoop]: Interpolant automaton has 7 states. [2019-05-15 10:29:04,407 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 51 transitions. [2019-05-15 10:29:04,407 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:04,407 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:04,407 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:04,408 INFO L418 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:04,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:04,408 INFO L82 PathProgramCache]: Analyzing trace with hash -1837282386, now seen corresponding path program 1 times [2019-05-15 10:29:04,409 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:04,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:04,419 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:04,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:04,437 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:04,499 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:29:04,499 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,506 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:04,507 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,507 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:04,510 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:04,510 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|]. (and (= (store |v_#memory_int_70| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:04,510 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:04,538 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,539 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:04,540 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,549 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:04,550 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,550 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:04,607 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,609 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,610 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,611 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:04,613 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,643 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:04,643 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,643 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:04,686 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,688 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,689 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,691 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:04,693 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,704 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:04,705 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:04,705 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:04,775 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:04,775 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_73|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_73| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_73| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_73| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:04,775 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:04,814 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,816 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,817 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,819 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:04,821 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,831 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:04,834 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:04,835 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:04,839 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:04,839 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_74| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_74| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_74| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_74| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:29:04,839 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:04,975 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,976 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,978 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:04,979 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:04,989 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:04,999 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:05,002 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:05,003 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:05,009 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:05,009 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_75|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_75| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_75| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_75| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |v_#memory_int_75| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:05,009 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:05,034 INFO L273 TraceCheckUtils]: 0: Hoare triple {2083#true} havoc main_p1, main_p2, main_p3; {2083#true} is VALID [2019-05-15 10:29:05,035 INFO L273 TraceCheckUtils]: 1: Hoare triple {2083#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2083#true} is VALID [2019-05-15 10:29:05,035 INFO L273 TraceCheckUtils]: 2: Hoare triple {2083#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2083#true} is VALID [2019-05-15 10:29:05,035 INFO L273 TraceCheckUtils]: 3: Hoare triple {2083#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2083#true} is VALID [2019-05-15 10:29:05,036 INFO L273 TraceCheckUtils]: 4: Hoare triple {2083#true} assume main_p1 < main_p2; {2100#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:05,037 INFO L273 TraceCheckUtils]: 5: Hoare triple {2100#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {2104#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:05,038 INFO L273 TraceCheckUtils]: 6: Hoare triple {2104#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {2108#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:05,039 INFO L273 TraceCheckUtils]: 7: Hoare triple {2108#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {2112#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:05,041 INFO L273 TraceCheckUtils]: 8: Hoare triple {2112#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {2116#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:05,042 INFO L273 TraceCheckUtils]: 9: Hoare triple {2116#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2120#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:29:05,045 INFO L273 TraceCheckUtils]: 10: Hoare triple {2120#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2124#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:29:05,047 INFO L273 TraceCheckUtils]: 11: Hoare triple {2124#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2128#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:29:05,048 INFO L273 TraceCheckUtils]: 12: Hoare triple {2128#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {2084#false} is VALID [2019-05-15 10:29:05,050 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:05,050 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:05,050 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:05,050 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:05,050 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:05,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:05,069 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:05,070 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:05,070 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:05,070 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:05,070 INFO L87 Difference]: Start difference. First operand 25 states and 51 transitions. Second operand 10 states. [2019-05-15 10:29:05,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:05,927 INFO L93 Difference]: Finished difference Result 40 states and 65 transitions. [2019-05-15 10:29:05,928 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:05,928 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:05,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:05,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:05,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:29:05,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:05,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:29:05,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2019-05-15 10:29:06,021 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:06,022 INFO L225 Difference]: With dead ends: 40 [2019-05-15 10:29:06,022 INFO L226 Difference]: Without dead ends: 40 [2019-05-15 10:29:06,022 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:29:06,022 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2019-05-15 10:29:06,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 24. [2019-05-15 10:29:06,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:06,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 24 states. [2019-05-15 10:29:06,025 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 24 states. [2019-05-15 10:29:06,025 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 24 states. [2019-05-15 10:29:06,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:06,026 INFO L93 Difference]: Finished difference Result 40 states and 65 transitions. [2019-05-15 10:29:06,026 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 65 transitions. [2019-05-15 10:29:06,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:06,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:06,027 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 40 states. [2019-05-15 10:29:06,027 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 40 states. [2019-05-15 10:29:06,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:06,028 INFO L93 Difference]: Finished difference Result 40 states and 65 transitions. [2019-05-15 10:29:06,028 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 65 transitions. [2019-05-15 10:29:06,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:06,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:06,029 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:06,029 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:06,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-05-15 10:29:06,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 47 transitions. [2019-05-15 10:29:06,030 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 47 transitions. Word has length 13 [2019-05-15 10:29:06,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:06,030 INFO L475 AbstractCegarLoop]: Abstraction has 24 states and 47 transitions. [2019-05-15 10:29:06,030 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:06,031 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 47 transitions. [2019-05-15 10:29:06,031 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:06,031 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:06,031 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:06,031 INFO L418 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:06,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:06,032 INFO L82 PathProgramCache]: Analyzing trace with hash -1837288028, now seen corresponding path program 4 times [2019-05-15 10:29:06,033 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:06,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:06,043 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:06,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:06,054 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:06,099 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:29:06,100 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,108 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,109 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,109 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:06,111 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,112 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_76|]. (and (= (store |v_#memory_int_76| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,112 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,151 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,152 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:06,153 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,163 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,163 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,163 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:06,199 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,201 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,202 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,204 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:06,205 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,216 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,217 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:06,217 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:06,221 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,222 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p3]. (and (= (store |v_#memory_int_78| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_78| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,222 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,265 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,266 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,268 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,269 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:06,307 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,318 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,319 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:06,320 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:06,323 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,324 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_79| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:06,324 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,408 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,432 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,453 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,454 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:06,460 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,470 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,471 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:06,471 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:06,483 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,484 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_80|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_80| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_80| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_80| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:06,484 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:06,532 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,534 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,535 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,537 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:06,544 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,555 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,556 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:06,556 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:06,570 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,571 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_81|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_81| ULTIMATE.start_main_p2))) (and (= (+ .cse0 1) 0) (= |#memory_int| (store |v_#memory_int_81| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_81| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_81| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:06,571 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,601 INFO L273 TraceCheckUtils]: 0: Hoare triple {2281#true} havoc main_p1, main_p2, main_p3; {2281#true} is VALID [2019-05-15 10:29:06,602 INFO L273 TraceCheckUtils]: 1: Hoare triple {2281#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2281#true} is VALID [2019-05-15 10:29:06,602 INFO L273 TraceCheckUtils]: 2: Hoare triple {2281#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2281#true} is VALID [2019-05-15 10:29:06,602 INFO L273 TraceCheckUtils]: 3: Hoare triple {2281#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2281#true} is VALID [2019-05-15 10:29:06,603 INFO L273 TraceCheckUtils]: 4: Hoare triple {2281#true} assume main_p1 < main_p2; {2298#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:06,604 INFO L273 TraceCheckUtils]: 5: Hoare triple {2298#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {2302#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,604 INFO L273 TraceCheckUtils]: 6: Hoare triple {2302#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {2306#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,605 INFO L273 TraceCheckUtils]: 7: Hoare triple {2306#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {2310#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,607 INFO L273 TraceCheckUtils]: 8: Hoare triple {2310#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {2314#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,609 INFO L273 TraceCheckUtils]: 9: Hoare triple {2314#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2318#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,611 INFO L273 TraceCheckUtils]: 10: Hoare triple {2318#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2322#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:29:06,613 INFO L273 TraceCheckUtils]: 11: Hoare triple {2322#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2326#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:06,614 INFO L273 TraceCheckUtils]: 12: Hoare triple {2326#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {2282#false} is VALID [2019-05-15 10:29:06,616 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:06,616 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:06,616 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:06,617 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:06,617 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:06,617 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:06,637 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:06,637 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:06,637 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:06,637 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:06,637 INFO L87 Difference]: Start difference. First operand 24 states and 47 transitions. Second operand 10 states. [2019-05-15 10:29:07,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:07,497 INFO L93 Difference]: Finished difference Result 40 states and 65 transitions. [2019-05-15 10:29:07,497 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:07,497 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:07,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:07,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:07,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:29:07,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:07,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:29:07,499 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2019-05-15 10:29:07,672 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:07,673 INFO L225 Difference]: With dead ends: 40 [2019-05-15 10:29:07,673 INFO L226 Difference]: Without dead ends: 40 [2019-05-15 10:29:07,674 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=49, Invalid=133, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:29:07,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2019-05-15 10:29:07,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 25. [2019-05-15 10:29:07,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:07,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 25 states. [2019-05-15 10:29:07,676 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 25 states. [2019-05-15 10:29:07,676 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 25 states. [2019-05-15 10:29:07,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:07,678 INFO L93 Difference]: Finished difference Result 40 states and 65 transitions. [2019-05-15 10:29:07,678 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 65 transitions. [2019-05-15 10:29:07,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:07,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:07,679 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 40 states. [2019-05-15 10:29:07,679 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 40 states. [2019-05-15 10:29:07,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:07,680 INFO L93 Difference]: Finished difference Result 40 states and 65 transitions. [2019-05-15 10:29:07,680 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 65 transitions. [2019-05-15 10:29:07,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:07,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:07,680 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:07,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:07,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-05-15 10:29:07,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 51 transitions. [2019-05-15 10:29:07,681 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 51 transitions. Word has length 13 [2019-05-15 10:29:07,681 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:07,682 INFO L475 AbstractCegarLoop]: Abstraction has 25 states and 51 transitions. [2019-05-15 10:29:07,682 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:07,682 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 51 transitions. [2019-05-15 10:29:07,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:07,682 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:07,682 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:07,682 INFO L418 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:07,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:07,683 INFO L82 PathProgramCache]: Analyzing trace with hash -1837287966, now seen corresponding path program 2 times [2019-05-15 10:29:07,683 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:07,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:07,694 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:07,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:07,704 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:07,753 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:29:07,753 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:07,763 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:07,763 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:07,763 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:07,768 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:07,768 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|]. (and (= (store |v_#memory_int_82| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:07,768 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:07,824 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:07,825 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:07,830 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:07,841 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:07,842 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:07,842 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:07,905 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:07,907 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:07,910 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:07,912 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:07,916 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:07,933 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:07,933 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:07,933 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:08,013 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,015 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,017 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,020 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:08,025 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,045 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:08,045 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:08,046 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:08,129 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:08,130 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_85| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_85| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_85| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_85| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:08,130 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:08,225 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,227 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,228 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,230 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:08,236 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,248 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:08,251 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:08,251 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:08,263 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:08,264 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_86|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_86| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_86| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_86| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_86| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2019-05-15 10:29:08,264 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:08,304 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,305 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,307 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,308 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:08,311 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,324 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:08,327 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:08,327 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:08,333 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:08,334 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_87| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_87| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_87| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 1 (select |v_#memory_int_87| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:08,334 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:08,358 INFO L273 TraceCheckUtils]: 0: Hoare triple {2482#true} havoc main_p1, main_p2, main_p3; {2482#true} is VALID [2019-05-15 10:29:08,359 INFO L273 TraceCheckUtils]: 1: Hoare triple {2482#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2482#true} is VALID [2019-05-15 10:29:08,359 INFO L273 TraceCheckUtils]: 2: Hoare triple {2482#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2482#true} is VALID [2019-05-15 10:29:08,359 INFO L273 TraceCheckUtils]: 3: Hoare triple {2482#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2482#true} is VALID [2019-05-15 10:29:08,360 INFO L273 TraceCheckUtils]: 4: Hoare triple {2482#true} assume main_p1 < main_p2; {2499#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:08,361 INFO L273 TraceCheckUtils]: 5: Hoare triple {2499#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {2503#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:08,362 INFO L273 TraceCheckUtils]: 6: Hoare triple {2503#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {2507#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:08,363 INFO L273 TraceCheckUtils]: 7: Hoare triple {2507#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {2511#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:08,365 INFO L273 TraceCheckUtils]: 8: Hoare triple {2511#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {2515#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:08,367 INFO L273 TraceCheckUtils]: 9: Hoare triple {2515#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2519#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:29:08,369 INFO L273 TraceCheckUtils]: 10: Hoare triple {2519#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2523#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:29:08,372 INFO L273 TraceCheckUtils]: 11: Hoare triple {2523#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2527#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:29:08,373 INFO L273 TraceCheckUtils]: 12: Hoare triple {2527#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {2483#false} is VALID [2019-05-15 10:29:08,374 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:08,374 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:08,374 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:08,375 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:08,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:08,375 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:08,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:08,395 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:08,395 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:08,395 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:08,396 INFO L87 Difference]: Start difference. First operand 25 states and 51 transitions. Second operand 10 states. [2019-05-15 10:29:09,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:09,207 INFO L93 Difference]: Finished difference Result 39 states and 64 transitions. [2019-05-15 10:29:09,207 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:09,207 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:09,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:09,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:09,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:29:09,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:09,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:29:09,209 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2019-05-15 10:29:09,294 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:09,295 INFO L225 Difference]: With dead ends: 39 [2019-05-15 10:29:09,295 INFO L226 Difference]: Without dead ends: 37 [2019-05-15 10:29:09,296 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:29:09,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2019-05-15 10:29:09,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 25. [2019-05-15 10:29:09,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:09,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 25 states. [2019-05-15 10:29:09,298 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 25 states. [2019-05-15 10:29:09,298 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 25 states. [2019-05-15 10:29:09,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:09,299 INFO L93 Difference]: Finished difference Result 37 states and 62 transitions. [2019-05-15 10:29:09,299 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 62 transitions. [2019-05-15 10:29:09,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:09,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:09,299 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 37 states. [2019-05-15 10:29:09,300 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 37 states. [2019-05-15 10:29:09,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:09,301 INFO L93 Difference]: Finished difference Result 37 states and 62 transitions. [2019-05-15 10:29:09,301 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 62 transitions. [2019-05-15 10:29:09,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:09,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:09,301 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:09,301 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:09,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-05-15 10:29:09,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 50 transitions. [2019-05-15 10:29:09,302 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 50 transitions. Word has length 13 [2019-05-15 10:29:09,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:09,303 INFO L475 AbstractCegarLoop]: Abstraction has 25 states and 50 transitions. [2019-05-15 10:29:09,303 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:09,303 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 50 transitions. [2019-05-15 10:29:09,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:09,303 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:09,303 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:09,304 INFO L418 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:09,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:09,304 INFO L82 PathProgramCache]: Analyzing trace with hash -1837288152, now seen corresponding path program 5 times [2019-05-15 10:29:09,305 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:09,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:09,314 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:09,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:09,341 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:09,385 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:29:09,386 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,396 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:09,397 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,397 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:09,400 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:09,401 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|]. (and (= |#memory_int| (store |v_#memory_int_88| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:09,401 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:09,430 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,431 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:09,432 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,442 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:09,442 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,442 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:09,484 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,485 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,487 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,488 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:09,490 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,503 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:09,503 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:09,503 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:09,506 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:09,507 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p3]. (and (= |#memory_int| (store |v_#memory_int_90| ULTIMATE.start_main_p3 0)) (= (select |v_#memory_int_90| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_90| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:09,507 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:09,570 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,572 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,575 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,577 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:09,580 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,591 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:09,592 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:09,593 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:09,906 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:09,906 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0))) [2019-05-15 10:29:09,906 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:09,977 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,979 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,980 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,982 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:09,985 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,997 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:09,999 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:10,000 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:10,004 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:10,004 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_92| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_92| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_92| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_92| ULTIMATE.start_main_p2) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:10,004 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:10,100 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:10,103 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:10,104 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:10,105 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:10,107 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:10,120 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:10,122 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:10,123 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:10,127 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:10,127 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_93|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_93| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_93| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_93| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_93| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 1))) [2019-05-15 10:29:10,128 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:10,155 INFO L273 TraceCheckUtils]: 0: Hoare triple {2674#true} havoc main_p1, main_p2, main_p3; {2674#true} is VALID [2019-05-15 10:29:10,155 INFO L273 TraceCheckUtils]: 1: Hoare triple {2674#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2674#true} is VALID [2019-05-15 10:29:10,155 INFO L273 TraceCheckUtils]: 2: Hoare triple {2674#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2674#true} is VALID [2019-05-15 10:29:10,155 INFO L273 TraceCheckUtils]: 3: Hoare triple {2674#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2674#true} is VALID [2019-05-15 10:29:10,156 INFO L273 TraceCheckUtils]: 4: Hoare triple {2674#true} assume main_p1 < main_p2; {2691#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:10,156 INFO L273 TraceCheckUtils]: 5: Hoare triple {2691#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {2695#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:10,158 INFO L273 TraceCheckUtils]: 6: Hoare triple {2695#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {2699#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:10,159 INFO L273 TraceCheckUtils]: 7: Hoare triple {2699#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {2703#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:10,161 INFO L273 TraceCheckUtils]: 8: Hoare triple {2703#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {2707#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:10,163 INFO L273 TraceCheckUtils]: 9: Hoare triple {2707#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2711#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:10,166 INFO L273 TraceCheckUtils]: 10: Hoare triple {2711#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2715#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:29:10,168 INFO L273 TraceCheckUtils]: 11: Hoare triple {2715#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2719#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:29:10,168 INFO L273 TraceCheckUtils]: 12: Hoare triple {2719#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {2675#false} is VALID [2019-05-15 10:29:10,169 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:10,169 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:10,169 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:10,170 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:10,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:10,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:10,189 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:10,190 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:10,190 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:10,190 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:10,190 INFO L87 Difference]: Start difference. First operand 25 states and 50 transitions. Second operand 10 states. [2019-05-15 10:29:11,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:11,047 INFO L93 Difference]: Finished difference Result 37 states and 62 transitions. [2019-05-15 10:29:11,047 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:11,048 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:11,048 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:11,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:11,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:29:11,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:11,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:29:11,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 47 transitions. [2019-05-15 10:29:11,139 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:11,140 INFO L225 Difference]: With dead ends: 37 [2019-05-15 10:29:11,141 INFO L226 Difference]: Without dead ends: 37 [2019-05-15 10:29:11,141 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:29:11,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2019-05-15 10:29:11,143 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 24. [2019-05-15 10:29:11,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:11,143 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 24 states. [2019-05-15 10:29:11,143 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 24 states. [2019-05-15 10:29:11,143 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 24 states. [2019-05-15 10:29:11,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:11,144 INFO L93 Difference]: Finished difference Result 37 states and 62 transitions. [2019-05-15 10:29:11,145 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 62 transitions. [2019-05-15 10:29:11,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:11,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:11,145 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 37 states. [2019-05-15 10:29:11,145 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 37 states. [2019-05-15 10:29:11,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:11,146 INFO L93 Difference]: Finished difference Result 37 states and 62 transitions. [2019-05-15 10:29:11,146 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 62 transitions. [2019-05-15 10:29:11,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:11,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:11,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:11,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:11,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-05-15 10:29:11,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 47 transitions. [2019-05-15 10:29:11,147 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 47 transitions. Word has length 13 [2019-05-15 10:29:11,147 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:11,148 INFO L475 AbstractCegarLoop]: Abstraction has 24 states and 47 transitions. [2019-05-15 10:29:11,148 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:11,148 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 47 transitions. [2019-05-15 10:29:11,148 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:11,148 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:11,148 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:11,149 INFO L418 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:11,149 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:11,149 INFO L82 PathProgramCache]: Analyzing trace with hash -1837224414, now seen corresponding path program 2 times [2019-05-15 10:29:11,150 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:11,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:11,159 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 6 conjunts are in the unsatisfiable core [2019-05-15 10:29:11,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:11,172 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:11,205 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:29:11,205 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:11,210 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:11,210 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:11,211 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:29:11,213 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:11,214 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_94|]. (and (= (store |v_#memory_int_94| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:11,214 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:11,233 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:11,234 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:11,250 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:11,256 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:11,257 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:11,257 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:29:11,288 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:11,289 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 21 treesize of output 19 [2019-05-15 10:29:11,291 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:11,298 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:11,299 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:11,299 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:14 [2019-05-15 10:29:23,380 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:23,380 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_96| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:29:23,380 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:23,462 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,464 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 21 treesize of output 19 [2019-05-15 10:29:23,466 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,474 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:23,475 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:23,475 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:16 [2019-05-15 10:29:23,480 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:23,480 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_97| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_97| ULTIMATE.start_main_p3) 1) (= |#memory_int| (store |v_#memory_int_97| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:29:23,480 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:23,504 INFO L273 TraceCheckUtils]: 0: Hoare triple {2865#true} havoc main_p1, main_p2, main_p3; {2865#true} is VALID [2019-05-15 10:29:23,505 INFO L273 TraceCheckUtils]: 1: Hoare triple {2865#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2865#true} is VALID [2019-05-15 10:29:23,505 INFO L273 TraceCheckUtils]: 2: Hoare triple {2865#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2865#true} is VALID [2019-05-15 10:29:23,505 INFO L273 TraceCheckUtils]: 3: Hoare triple {2865#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2865#true} is VALID [2019-05-15 10:29:23,506 INFO L273 TraceCheckUtils]: 4: Hoare triple {2865#true} assume main_p1 < main_p2; {2865#true} is VALID [2019-05-15 10:29:23,506 INFO L273 TraceCheckUtils]: 5: Hoare triple {2865#true} assume main_p2 < main_p3; {2885#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:29:23,507 INFO L273 TraceCheckUtils]: 6: Hoare triple {2885#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {2885#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:29:23,508 INFO L273 TraceCheckUtils]: 7: Hoare triple {2885#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {2892#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:23,508 INFO L273 TraceCheckUtils]: 8: Hoare triple {2892#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {2896#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:23,510 INFO L273 TraceCheckUtils]: 9: Hoare triple {2896#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2900#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:29:23,517 INFO L273 TraceCheckUtils]: 10: Hoare triple {2900#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2904#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:29:23,518 INFO L273 TraceCheckUtils]: 11: Hoare triple {2904#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {2904#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:29:23,519 INFO L273 TraceCheckUtils]: 12: Hoare triple {2904#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {2866#false} is VALID [2019-05-15 10:29:23,519 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:23,520 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:23,520 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2019-05-15 10:29:23,520 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2019-05-15 10:29:23,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:23,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2019-05-15 10:29:23,539 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:23,539 INFO L454 AbstractCegarLoop]: Interpolant automaton has 7 states [2019-05-15 10:29:23,540 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2019-05-15 10:29:23,540 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2019-05-15 10:29:23,540 INFO L87 Difference]: Start difference. First operand 24 states and 47 transitions. Second operand 7 states. [2019-05-15 10:29:24,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:24,368 INFO L93 Difference]: Finished difference Result 34 states and 57 transitions. [2019-05-15 10:29:24,368 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-05-15 10:29:24,368 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2019-05-15 10:29:24,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:24,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:29:24,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2019-05-15 10:29:24,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:29:24,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2019-05-15 10:29:24,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 39 transitions. [2019-05-15 10:29:24,422 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:24,423 INFO L225 Difference]: With dead ends: 34 [2019-05-15 10:29:24,423 INFO L226 Difference]: Without dead ends: 34 [2019-05-15 10:29:24,424 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:29:24,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2019-05-15 10:29:24,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 25. [2019-05-15 10:29:24,425 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:24,426 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 25 states. [2019-05-15 10:29:24,426 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 25 states. [2019-05-15 10:29:24,426 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 25 states. [2019-05-15 10:29:24,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:24,427 INFO L93 Difference]: Finished difference Result 34 states and 57 transitions. [2019-05-15 10:29:24,427 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 57 transitions. [2019-05-15 10:29:24,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:24,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:24,428 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 34 states. [2019-05-15 10:29:24,428 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 34 states. [2019-05-15 10:29:24,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:24,429 INFO L93 Difference]: Finished difference Result 34 states and 57 transitions. [2019-05-15 10:29:24,429 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 57 transitions. [2019-05-15 10:29:24,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:24,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:24,430 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:24,430 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:24,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-05-15 10:29:24,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 51 transitions. [2019-05-15 10:29:24,431 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 51 transitions. Word has length 13 [2019-05-15 10:29:24,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:24,431 INFO L475 AbstractCegarLoop]: Abstraction has 25 states and 51 transitions. [2019-05-15 10:29:24,431 INFO L476 AbstractCegarLoop]: Interpolant automaton has 7 states. [2019-05-15 10:29:24,431 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 51 transitions. [2019-05-15 10:29:24,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:24,432 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:24,432 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:24,432 INFO L418 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:24,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:24,432 INFO L82 PathProgramCache]: Analyzing trace with hash -1837224726, now seen corresponding path program 3 times [2019-05-15 10:29:24,433 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:24,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:24,441 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:24,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:24,447 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:24,491 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:29:24,491 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,500 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:24,500 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,501 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:24,504 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:24,504 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|]. (and (= (store |v_#memory_int_98| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:24,505 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:24,532 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,533 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:24,535 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,543 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:24,544 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,544 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:24,580 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,581 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,583 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,584 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:24,586 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,597 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:24,597 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,598 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:24,643 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,644 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,646 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,647 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:24,651 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,663 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:24,664 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:24,664 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:24,870 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:24,871 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_101| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:24,871 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:24,919 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,920 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,921 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,922 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:24,925 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:24,938 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:24,939 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:24,939 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:24,946 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:24,946 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_102|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_102| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_102| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_102| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 1 (select |v_#memory_int_102| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:24,946 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:24,987 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,990 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,991 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:24,992 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:24,994 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:25,005 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:25,008 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:25,008 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:25,014 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:25,015 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_103|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_103| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_103| ULTIMATE.start_main_p3)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_103| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (+ (select |v_#memory_int_103| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:25,015 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:29:25,034 INFO L273 TraceCheckUtils]: 0: Hoare triple {3041#true} havoc main_p1, main_p2, main_p3; {3041#true} is VALID [2019-05-15 10:29:25,035 INFO L273 TraceCheckUtils]: 1: Hoare triple {3041#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3041#true} is VALID [2019-05-15 10:29:25,035 INFO L273 TraceCheckUtils]: 2: Hoare triple {3041#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3041#true} is VALID [2019-05-15 10:29:25,036 INFO L273 TraceCheckUtils]: 3: Hoare triple {3041#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3041#true} is VALID [2019-05-15 10:29:25,037 INFO L273 TraceCheckUtils]: 4: Hoare triple {3041#true} assume main_p1 < main_p2; {3058#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:25,037 INFO L273 TraceCheckUtils]: 5: Hoare triple {3058#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3062#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:25,038 INFO L273 TraceCheckUtils]: 6: Hoare triple {3062#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3066#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:25,039 INFO L273 TraceCheckUtils]: 7: Hoare triple {3066#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {3070#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:25,040 INFO L273 TraceCheckUtils]: 8: Hoare triple {3070#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {3074#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:25,041 INFO L273 TraceCheckUtils]: 9: Hoare triple {3074#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3078#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:25,043 INFO L273 TraceCheckUtils]: 10: Hoare triple {3078#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3082#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:25,045 INFO L273 TraceCheckUtils]: 11: Hoare triple {3082#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3086#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:29:25,047 INFO L273 TraceCheckUtils]: 12: Hoare triple {3086#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {3042#false} is VALID [2019-05-15 10:29:25,048 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:25,048 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:25,048 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:25,049 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:25,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:25,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:25,068 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:25,068 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:25,069 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:25,069 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:25,069 INFO L87 Difference]: Start difference. First operand 25 states and 51 transitions. Second operand 10 states. [2019-05-15 10:29:25,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:25,927 INFO L93 Difference]: Finished difference Result 43 states and 67 transitions. [2019-05-15 10:29:25,927 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:25,928 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:25,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:25,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:25,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2019-05-15 10:29:25,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:25,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2019-05-15 10:29:25,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2019-05-15 10:29:26,012 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:26,013 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:29:26,013 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:29:26,014 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:29:26,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:29:26,015 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 24. [2019-05-15 10:29:26,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:26,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 24 states. [2019-05-15 10:29:26,016 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 24 states. [2019-05-15 10:29:26,016 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 24 states. [2019-05-15 10:29:26,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:26,017 INFO L93 Difference]: Finished difference Result 43 states and 67 transitions. [2019-05-15 10:29:26,017 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 67 transitions. [2019-05-15 10:29:26,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:26,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:26,018 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 43 states. [2019-05-15 10:29:26,018 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 43 states. [2019-05-15 10:29:26,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:26,019 INFO L93 Difference]: Finished difference Result 43 states and 67 transitions. [2019-05-15 10:29:26,019 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 67 transitions. [2019-05-15 10:29:26,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:26,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:26,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:26,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:26,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-05-15 10:29:26,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 47 transitions. [2019-05-15 10:29:26,021 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 47 transitions. Word has length 13 [2019-05-15 10:29:26,022 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:26,022 INFO L475 AbstractCegarLoop]: Abstraction has 24 states and 47 transitions. [2019-05-15 10:29:26,022 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:26,022 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 47 transitions. [2019-05-15 10:29:26,022 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:26,022 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:26,023 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:26,023 INFO L418 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:26,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:26,023 INFO L82 PathProgramCache]: Analyzing trace with hash -1837222804, now seen corresponding path program 3 times [2019-05-15 10:29:26,024 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:26,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:26,032 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:26,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:26,042 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:26,090 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:29:26,090 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:26,100 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:26,100 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:26,100 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:26,103 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:26,103 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|]. (and (= |#memory_int| (store |v_#memory_int_104| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:26,103 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:26,130 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,131 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:26,132 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:26,141 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:26,142 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:26,142 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:26,145 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:26,145 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_105| ULTIMATE.start_main_p2 0) |#memory_int|) (= (select |v_#memory_int_105| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:26,145 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:26,228 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,229 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,231 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,232 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:26,233 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:26,244 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:26,245 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:26,245 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:26,287 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,288 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,290 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,293 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:26,295 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:26,305 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:26,306 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:26,306 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:26,311 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:26,311 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_107|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_107| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_107| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_107| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:29:26,311 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:26,352 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,354 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,355 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,356 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:26,358 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:26,371 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:26,371 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:26,372 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:26,378 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:26,379 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_108|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_108| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_108| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_108| ULTIMATE.start_main_p1)) (= 1 .cse0) (= (select |v_#memory_int_108| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:26,379 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:26,421 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,422 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,423 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:26,424 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:26,427 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:26,439 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:26,440 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:26,440 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:26,444 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:26,444 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_109|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_109| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_109| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 2 (select |v_#memory_int_109| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_109| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:29:26,444 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:26,528 INFO L273 TraceCheckUtils]: 0: Hoare triple {3248#true} havoc main_p1, main_p2, main_p3; {3248#true} is VALID [2019-05-15 10:29:26,528 INFO L273 TraceCheckUtils]: 1: Hoare triple {3248#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3248#true} is VALID [2019-05-15 10:29:26,529 INFO L273 TraceCheckUtils]: 2: Hoare triple {3248#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3248#true} is VALID [2019-05-15 10:29:26,529 INFO L273 TraceCheckUtils]: 3: Hoare triple {3248#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3248#true} is VALID [2019-05-15 10:29:26,541 INFO L273 TraceCheckUtils]: 4: Hoare triple {3248#true} assume main_p1 < main_p2; {3265#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:26,555 INFO L273 TraceCheckUtils]: 5: Hoare triple {3265#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3269#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:26,570 INFO L273 TraceCheckUtils]: 6: Hoare triple {3269#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3273#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:26,579 INFO L273 TraceCheckUtils]: 7: Hoare triple {3273#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {3277#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:26,597 INFO L273 TraceCheckUtils]: 8: Hoare triple {3277#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {3281#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:26,611 INFO L273 TraceCheckUtils]: 9: Hoare triple {3281#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3285#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:26,621 INFO L273 TraceCheckUtils]: 10: Hoare triple {3285#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3289#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:26,640 INFO L273 TraceCheckUtils]: 11: Hoare triple {3289#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3293#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:26,655 INFO L273 TraceCheckUtils]: 12: Hoare triple {3293#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3249#false} is VALID [2019-05-15 10:29:26,656 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:26,656 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:26,657 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:26,657 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:26,657 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:26,657 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:26,817 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:26,818 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:26,818 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:26,818 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:26,819 INFO L87 Difference]: Start difference. First operand 24 states and 47 transitions. Second operand 10 states. [2019-05-15 10:29:27,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:27,898 INFO L93 Difference]: Finished difference Result 42 states and 66 transitions. [2019-05-15 10:29:27,898 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:27,898 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:27,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:27,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:27,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2019-05-15 10:29:27,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:27,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2019-05-15 10:29:27,901 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2019-05-15 10:29:28,131 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:28,132 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:29:28,132 INFO L226 Difference]: Without dead ends: 40 [2019-05-15 10:29:28,133 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=57, Invalid=153, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:29:28,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2019-05-15 10:29:28,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 25. [2019-05-15 10:29:28,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:28,134 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 25 states. [2019-05-15 10:29:28,134 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 25 states. [2019-05-15 10:29:28,135 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 25 states. [2019-05-15 10:29:28,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:28,136 INFO L93 Difference]: Finished difference Result 40 states and 64 transitions. [2019-05-15 10:29:28,136 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 64 transitions. [2019-05-15 10:29:28,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:28,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:28,136 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 40 states. [2019-05-15 10:29:28,136 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 40 states. [2019-05-15 10:29:28,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:28,137 INFO L93 Difference]: Finished difference Result 40 states and 64 transitions. [2019-05-15 10:29:28,137 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 64 transitions. [2019-05-15 10:29:28,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:28,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:28,138 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:28,138 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:28,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-05-15 10:29:28,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 50 transitions. [2019-05-15 10:29:28,139 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 50 transitions. Word has length 13 [2019-05-15 10:29:28,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:28,139 INFO L475 AbstractCegarLoop]: Abstraction has 25 states and 50 transitions. [2019-05-15 10:29:28,139 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:28,139 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 50 transitions. [2019-05-15 10:29:28,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:28,139 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:28,139 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:28,139 INFO L418 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:28,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:28,140 INFO L82 PathProgramCache]: Analyzing trace with hash -1837228446, now seen corresponding path program 4 times [2019-05-15 10:29:28,140 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:28,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:28,148 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:28,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:28,164 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:28,204 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:29:28,204 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:28,212 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:28,213 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:28,213 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:28,216 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:28,216 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|]. (and (= |#memory_int| (store |v_#memory_int_110| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:28,216 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:28,265 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:28,266 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:28,268 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:28,279 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:28,279 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:28,279 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:28,337 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:28,339 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:28,341 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:28,342 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:28,347 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:28,365 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:28,365 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:28,365 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:28,728 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:28,745 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:28,770 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:28,773 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:28,811 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:28,925 WARN L188 SmtUtils]: Spent 113.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2019-05-15 10:29:28,926 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:28,927 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:28,927 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:40,968 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:40,969 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_113|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_113| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_113| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_113| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_113| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:40,969 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:41,046 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,047 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,048 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,049 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:41,052 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,064 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,065 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:41,065 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:41,077 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,077 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_114|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_114| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (select |v_#memory_int_114| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_114| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_114| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:41,077 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:41,122 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,123 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,125 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,126 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:41,129 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,196 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,197 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:41,198 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:41,204 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,204 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_115|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_115| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_115| ULTIMATE.start_main_p3) 1) (= 1 (select |v_#memory_int_115| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_115| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:41,204 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:41,229 INFO L273 TraceCheckUtils]: 0: Hoare triple {3453#true} havoc main_p1, main_p2, main_p3; {3453#true} is VALID [2019-05-15 10:29:41,229 INFO L273 TraceCheckUtils]: 1: Hoare triple {3453#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3453#true} is VALID [2019-05-15 10:29:41,230 INFO L273 TraceCheckUtils]: 2: Hoare triple {3453#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3453#true} is VALID [2019-05-15 10:29:41,230 INFO L273 TraceCheckUtils]: 3: Hoare triple {3453#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3453#true} is VALID [2019-05-15 10:29:41,231 INFO L273 TraceCheckUtils]: 4: Hoare triple {3453#true} assume main_p1 < main_p2; {3470#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:41,231 INFO L273 TraceCheckUtils]: 5: Hoare triple {3470#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3474#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:41,232 INFO L273 TraceCheckUtils]: 6: Hoare triple {3474#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3478#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:41,233 INFO L273 TraceCheckUtils]: 7: Hoare triple {3478#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {3482#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:41,234 INFO L273 TraceCheckUtils]: 8: Hoare triple {3482#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {3486#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:41,236 INFO L273 TraceCheckUtils]: 9: Hoare triple {3486#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3490#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:41,238 INFO L273 TraceCheckUtils]: 10: Hoare triple {3490#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3494#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:41,240 INFO L273 TraceCheckUtils]: 11: Hoare triple {3494#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3498#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:41,241 INFO L273 TraceCheckUtils]: 12: Hoare triple {3498#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3454#false} is VALID [2019-05-15 10:29:41,243 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:41,243 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:41,243 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:41,244 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:41,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:41,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:41,263 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:41,263 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:41,264 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:41,264 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:41,264 INFO L87 Difference]: Start difference. First operand 25 states and 50 transitions. Second operand 10 states. [2019-05-15 10:29:42,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:42,231 INFO L93 Difference]: Finished difference Result 41 states and 68 transitions. [2019-05-15 10:29:42,232 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:42,232 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:42,232 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:42,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:42,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:29:42,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:42,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:29:42,234 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2019-05-15 10:29:42,418 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:42,419 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:29:42,419 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:29:42,419 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:29:42,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:29:42,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 26. [2019-05-15 10:29:42,420 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:42,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 26 states. [2019-05-15 10:29:42,421 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 26 states. [2019-05-15 10:29:42,421 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 26 states. [2019-05-15 10:29:42,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:42,422 INFO L93 Difference]: Finished difference Result 41 states and 68 transitions. [2019-05-15 10:29:42,422 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 68 transitions. [2019-05-15 10:29:42,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:42,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:42,423 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 41 states. [2019-05-15 10:29:42,423 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 41 states. [2019-05-15 10:29:42,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:42,424 INFO L93 Difference]: Finished difference Result 41 states and 68 transitions. [2019-05-15 10:29:42,424 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 68 transitions. [2019-05-15 10:29:42,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:42,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:42,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:42,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:42,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:29:42,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 54 transitions. [2019-05-15 10:29:42,426 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 54 transitions. Word has length 13 [2019-05-15 10:29:42,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:42,426 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 54 transitions. [2019-05-15 10:29:42,426 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:42,426 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 54 transitions. [2019-05-15 10:29:42,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:42,426 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:42,427 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:42,427 INFO L418 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:42,427 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:42,427 INFO L82 PathProgramCache]: Analyzing trace with hash -1837228384, now seen corresponding path program 4 times [2019-05-15 10:29:42,428 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:42,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:42,436 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:42,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:42,455 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:42,872 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:29:42,873 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:42,880 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:42,880 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:42,880 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:42,884 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:42,884 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|]. (and (= (store |v_#memory_int_116| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:42,884 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:42,912 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:42,913 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:42,914 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:42,924 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:42,925 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:42,925 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:42,929 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:42,929 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_117| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:42,929 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:42,956 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:42,957 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:42,959 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:42,960 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:42,961 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:42,971 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:42,972 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:42,972 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:43,020 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,021 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,022 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,023 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:43,026 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:43,037 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:43,038 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:43,038 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:43,045 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:43,045 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_119|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_119| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= 0 (select |v_#memory_int_119| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_119| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_119| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:29:43,046 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:43,082 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,083 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,085 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,087 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:43,090 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:43,100 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:43,101 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:43,101 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:43,107 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:43,108 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_120|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_120| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_120| ULTIMATE.start_main_p3)) (= .cse0 0) (= (select |v_#memory_int_120| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_120| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-05-15 10:29:43,108 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:43,145 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,146 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,148 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:43,149 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:43,151 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:43,162 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:43,162 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:43,163 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:43,167 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:43,167 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_121|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_121| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_121| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_121| ULTIMATE.start_main_p2) 0) (= 1 .cse0) (= |#memory_int| (store |v_#memory_int_121| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:43,168 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:43,189 INFO L273 TraceCheckUtils]: 0: Hoare triple {3656#true} havoc main_p1, main_p2, main_p3; {3656#true} is VALID [2019-05-15 10:29:43,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {3656#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3656#true} is VALID [2019-05-15 10:29:43,190 INFO L273 TraceCheckUtils]: 2: Hoare triple {3656#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3656#true} is VALID [2019-05-15 10:29:43,191 INFO L273 TraceCheckUtils]: 3: Hoare triple {3656#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3656#true} is VALID [2019-05-15 10:29:43,192 INFO L273 TraceCheckUtils]: 4: Hoare triple {3656#true} assume main_p1 < main_p2; {3673#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:43,193 INFO L273 TraceCheckUtils]: 5: Hoare triple {3673#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3677#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:43,193 INFO L273 TraceCheckUtils]: 6: Hoare triple {3677#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:43,195 INFO L273 TraceCheckUtils]: 7: Hoare triple {3681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {3685#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:43,198 INFO L273 TraceCheckUtils]: 8: Hoare triple {3685#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {3689#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:43,201 INFO L273 TraceCheckUtils]: 9: Hoare triple {3689#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3693#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:43,203 INFO L273 TraceCheckUtils]: 10: Hoare triple {3693#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3697#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:43,204 INFO L273 TraceCheckUtils]: 11: Hoare triple {3697#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3701#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:43,205 INFO L273 TraceCheckUtils]: 12: Hoare triple {3701#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3657#false} is VALID [2019-05-15 10:29:43,207 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:43,207 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:43,207 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:43,208 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:43,208 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:43,208 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:43,227 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:43,228 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:43,228 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:43,228 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:43,228 INFO L87 Difference]: Start difference. First operand 26 states and 54 transitions. Second operand 10 states. [2019-05-15 10:29:44,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:44,030 INFO L93 Difference]: Finished difference Result 40 states and 67 transitions. [2019-05-15 10:29:44,030 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:44,030 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:44,030 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:44,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:44,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:29:44,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:44,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:29:44,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2019-05-15 10:29:44,110 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:44,111 INFO L225 Difference]: With dead ends: 40 [2019-05-15 10:29:44,111 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:29:44,112 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=54, Invalid=156, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:29:44,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:29:44,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 26. [2019-05-15 10:29:44,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:44,114 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 26 states. [2019-05-15 10:29:44,114 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 26 states. [2019-05-15 10:29:44,114 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 26 states. [2019-05-15 10:29:44,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:44,115 INFO L93 Difference]: Finished difference Result 38 states and 65 transitions. [2019-05-15 10:29:44,115 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 65 transitions. [2019-05-15 10:29:44,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:44,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:44,116 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 38 states. [2019-05-15 10:29:44,116 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 38 states. [2019-05-15 10:29:44,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:44,117 INFO L93 Difference]: Finished difference Result 38 states and 65 transitions. [2019-05-15 10:29:44,117 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 65 transitions. [2019-05-15 10:29:44,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:44,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:44,117 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:44,117 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:44,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:29:44,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 53 transitions. [2019-05-15 10:29:44,118 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 53 transitions. Word has length 13 [2019-05-15 10:29:44,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:44,119 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 53 transitions. [2019-05-15 10:29:44,119 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:44,119 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 53 transitions. [2019-05-15 10:29:44,119 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:44,119 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:44,120 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:44,120 INFO L418 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:44,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:44,120 INFO L82 PathProgramCache]: Analyzing trace with hash -1837228570, now seen corresponding path program 5 times [2019-05-15 10:29:44,121 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:44,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:44,128 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:44,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:44,160 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:44,604 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:29:44,604 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:44,612 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:44,613 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:44,613 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:44,618 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:44,619 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|]. (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_122| ULTIMATE.start_main_p1 0) |#memory_int|)) [2019-05-15 10:29:44,619 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:44,648 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,649 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:44,663 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:44,670 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:44,671 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:44,671 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:44,676 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:44,676 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_123| ULTIMATE.start_main_p2 0) |#memory_int|) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:44,676 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:44,706 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,707 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,708 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,709 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:44,711 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:44,722 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:44,723 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:44,723 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:44,771 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,773 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,774 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,775 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:44,777 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:44,789 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:44,790 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:44,790 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:44,796 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:44,797 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_125|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_125| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_125| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_125| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_125| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:44,797 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:44,883 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,884 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,886 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,888 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:44,892 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:44,902 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:44,902 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:44,903 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:44,907 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:44,908 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_126|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_126| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_126| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_126| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_126| ULTIMATE.start_main_p3) 1) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:44,908 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:44,945 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,946 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,948 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:44,949 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:44,951 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:44,963 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:44,963 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:44,964 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:44,970 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:44,970 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_127| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p2)) (= 1 (select |v_#memory_int_127| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_127| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:44,971 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:44,992 INFO L273 TraceCheckUtils]: 0: Hoare triple {3856#true} havoc main_p1, main_p2, main_p3; {3856#true} is VALID [2019-05-15 10:29:44,992 INFO L273 TraceCheckUtils]: 1: Hoare triple {3856#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3856#true} is VALID [2019-05-15 10:29:44,993 INFO L273 TraceCheckUtils]: 2: Hoare triple {3856#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3856#true} is VALID [2019-05-15 10:29:44,993 INFO L273 TraceCheckUtils]: 3: Hoare triple {3856#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3856#true} is VALID [2019-05-15 10:29:44,994 INFO L273 TraceCheckUtils]: 4: Hoare triple {3856#true} assume main_p1 < main_p2; {3873#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:44,994 INFO L273 TraceCheckUtils]: 5: Hoare triple {3873#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3877#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:44,995 INFO L273 TraceCheckUtils]: 6: Hoare triple {3877#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:44,996 INFO L273 TraceCheckUtils]: 7: Hoare triple {3881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {3885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:44,997 INFO L273 TraceCheckUtils]: 8: Hoare triple {3885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {3889#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:44,999 INFO L273 TraceCheckUtils]: 9: Hoare triple {3889#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3893#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:45,001 INFO L273 TraceCheckUtils]: 10: Hoare triple {3893#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3897#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:45,004 INFO L273 TraceCheckUtils]: 11: Hoare triple {3897#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3901#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:29:45,005 INFO L273 TraceCheckUtils]: 12: Hoare triple {3901#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {3857#false} is VALID [2019-05-15 10:29:45,006 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:45,006 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:45,007 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:45,007 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:45,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:45,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:45,044 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:45,044 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:45,044 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:45,044 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:45,044 INFO L87 Difference]: Start difference. First operand 26 states and 53 transitions. Second operand 10 states. [2019-05-15 10:29:46,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:46,005 INFO L93 Difference]: Finished difference Result 38 states and 65 transitions. [2019-05-15 10:29:46,005 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:46,006 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:46,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:46,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:46,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:29:46,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:46,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:29:46,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 47 transitions. [2019-05-15 10:29:46,135 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:46,135 INFO L225 Difference]: With dead ends: 38 [2019-05-15 10:29:46,135 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:29:46,136 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:29:46,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:29:46,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 25. [2019-05-15 10:29:46,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:46,138 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 25 states. [2019-05-15 10:29:46,138 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 25 states. [2019-05-15 10:29:46,138 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 25 states. [2019-05-15 10:29:46,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:46,139 INFO L93 Difference]: Finished difference Result 38 states and 65 transitions. [2019-05-15 10:29:46,139 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 65 transitions. [2019-05-15 10:29:46,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:46,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:46,140 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 38 states. [2019-05-15 10:29:46,140 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 38 states. [2019-05-15 10:29:46,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:46,141 INFO L93 Difference]: Finished difference Result 38 states and 65 transitions. [2019-05-15 10:29:46,141 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 65 transitions. [2019-05-15 10:29:46,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:46,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:46,144 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:46,144 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:46,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-05-15 10:29:46,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 50 transitions. [2019-05-15 10:29:46,145 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 50 transitions. Word has length 13 [2019-05-15 10:29:46,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:46,145 INFO L475 AbstractCegarLoop]: Abstraction has 25 states and 50 transitions. [2019-05-15 10:29:46,145 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:46,146 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 50 transitions. [2019-05-15 10:29:46,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:46,146 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:46,146 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:46,146 INFO L418 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:46,147 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:46,147 INFO L82 PathProgramCache]: Analyzing trace with hash -1837403348, now seen corresponding path program 6 times [2019-05-15 10:29:46,148 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:46,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:46,156 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:46,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:46,176 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:46,754 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:29:46,754 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:46,763 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:46,763 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:46,764 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:46,766 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:46,767 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|]. (and (= (store |v_#memory_int_128| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:46,767 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:46,796 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,799 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:46,800 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:46,810 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:46,811 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:46,811 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:46,849 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,851 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,852 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,853 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:46,855 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:46,869 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:46,869 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:46,870 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:46,874 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:46,874 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_130|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_130| ULTIMATE.start_main_p3 0) |#memory_int|) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:46,874 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:46,917 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,918 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,919 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,922 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:46,927 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:46,938 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:46,938 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:46,939 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:46,951 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:46,952 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_131|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_131| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_131| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_131| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_131| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:46,952 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:46,994 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,996 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,997 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:46,999 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:47,001 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:47,014 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:47,015 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:47,015 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:47,025 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:47,026 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_132|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_132| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_132| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_132| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_132| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:47,026 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:47,094 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:47,096 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:47,097 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:47,099 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:29:47,102 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:47,115 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:47,116 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:47,116 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:29:47,126 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:47,126 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_133|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_133| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_133| ULTIMATE.start_main_p1) 1) (= (+ .cse0 1) 0) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_133| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:47,127 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:47,149 INFO L273 TraceCheckUtils]: 0: Hoare triple {4053#true} havoc main_p1, main_p2, main_p3; {4053#true} is VALID [2019-05-15 10:29:47,149 INFO L273 TraceCheckUtils]: 1: Hoare triple {4053#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4053#true} is VALID [2019-05-15 10:29:47,150 INFO L273 TraceCheckUtils]: 2: Hoare triple {4053#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4053#true} is VALID [2019-05-15 10:29:47,150 INFO L273 TraceCheckUtils]: 3: Hoare triple {4053#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4053#true} is VALID [2019-05-15 10:29:47,151 INFO L273 TraceCheckUtils]: 4: Hoare triple {4053#true} assume main_p1 < main_p2; {4070#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:47,151 INFO L273 TraceCheckUtils]: 5: Hoare triple {4070#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4074#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:47,153 INFO L273 TraceCheckUtils]: 6: Hoare triple {4074#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4078#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:47,154 INFO L273 TraceCheckUtils]: 7: Hoare triple {4078#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {4082#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:47,156 INFO L273 TraceCheckUtils]: 8: Hoare triple {4082#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {4086#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:47,158 INFO L273 TraceCheckUtils]: 9: Hoare triple {4086#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4090#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:47,160 INFO L273 TraceCheckUtils]: 10: Hoare triple {4090#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4094#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:47,163 INFO L273 TraceCheckUtils]: 11: Hoare triple {4094#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4098#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:47,164 INFO L273 TraceCheckUtils]: 12: Hoare triple {4098#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {4054#false} is VALID [2019-05-15 10:29:47,165 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:29:47,165 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:47,165 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:29:47,166 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:47,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:47,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:29:47,186 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:47,187 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:29:47,187 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:29:47,187 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:29:47,187 INFO L87 Difference]: Start difference. First operand 25 states and 50 transitions. Second operand 10 states. [2019-05-15 10:29:48,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:48,189 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:29:48,189 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:29:48,189 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:29:48,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:48,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:48,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:29:48,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:29:48,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:29:48,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2019-05-15 10:29:48,290 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:48,291 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:29:48,291 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:29:48,292 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:29:48,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:29:48,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 27. [2019-05-15 10:29:48,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:48,294 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 27 states. [2019-05-15 10:29:48,294 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 27 states. [2019-05-15 10:29:48,294 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 27 states. [2019-05-15 10:29:48,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:48,295 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:29:48,295 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 71 transitions. [2019-05-15 10:29:48,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:48,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:48,296 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 42 states. [2019-05-15 10:29:48,296 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 42 states. [2019-05-15 10:29:48,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:48,297 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:29:48,297 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 71 transitions. [2019-05-15 10:29:48,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:48,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:48,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:48,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:48,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:29:48,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 57 transitions. [2019-05-15 10:29:48,299 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 57 transitions. Word has length 13 [2019-05-15 10:29:48,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:48,299 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 57 transitions. [2019-05-15 10:29:48,299 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:29:48,300 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 57 transitions. [2019-05-15 10:29:48,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:29:48,300 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:48,300 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:48,300 INFO L418 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:48,301 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:48,301 INFO L82 PathProgramCache]: Analyzing trace with hash -1837403286, now seen corresponding path program 5 times [2019-05-15 10:29:48,302 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:48,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:48,310 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:29:48,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:48,334 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:48,695 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:29:48,695 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,703 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,704 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,704 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:48,711 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:48,711 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|]. (and (= (store |v_#memory_int_134| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:48,711 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:48,757 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,757 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:29:48,758 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,769 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,769 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,769 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:48,836 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,838 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,840 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,841 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:29:48,859 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,873 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,873 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,873 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:48,938 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,943 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,944 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:48,947 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,962 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,962 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,963 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:29:48,976 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:48,976 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|]. (let ((.cse0 (select |v_#memory_int_137| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (select |v_#memory_int_137| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_137| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_137| ULTIMATE.start_main_p3) 0))) [2019-05-15 10:29:48,976 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:49,058 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:49,060 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:49,063 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:49,064 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:29:49,068 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:49,083 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:49,084 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:49,084 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:01,206 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:01,207 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_138| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_138| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_138| ULTIMATE.start_main_p1) 1) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:01,207 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:01,280 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:01,281 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:01,283 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:01,284 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:01,286 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:01,299 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:01,302 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:01,303 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:01,308 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:01,309 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= 0 (+ (select |v_#memory_int_139| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_139| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_139| ULTIMATE.start_main_p1) 1))) [2019-05-15 10:30:01,309 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:30:01,330 INFO L273 TraceCheckUtils]: 0: Hoare triple {4262#true} havoc main_p1, main_p2, main_p3; {4262#true} is VALID [2019-05-15 10:30:01,330 INFO L273 TraceCheckUtils]: 1: Hoare triple {4262#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4262#true} is VALID [2019-05-15 10:30:01,330 INFO L273 TraceCheckUtils]: 2: Hoare triple {4262#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4262#true} is VALID [2019-05-15 10:30:01,331 INFO L273 TraceCheckUtils]: 3: Hoare triple {4262#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4262#true} is VALID [2019-05-15 10:30:01,331 INFO L273 TraceCheckUtils]: 4: Hoare triple {4262#true} assume main_p1 < main_p2; {4279#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:01,332 INFO L273 TraceCheckUtils]: 5: Hoare triple {4279#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4283#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:01,333 INFO L273 TraceCheckUtils]: 6: Hoare triple {4283#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4287#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:01,334 INFO L273 TraceCheckUtils]: 7: Hoare triple {4287#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:01,336 INFO L273 TraceCheckUtils]: 8: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {4295#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:01,337 INFO L273 TraceCheckUtils]: 9: Hoare triple {4295#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4299#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:01,338 INFO L273 TraceCheckUtils]: 10: Hoare triple {4299#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4303#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:30:01,340 INFO L273 TraceCheckUtils]: 11: Hoare triple {4303#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4307#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:30:01,341 INFO L273 TraceCheckUtils]: 12: Hoare triple {4307#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {4263#false} is VALID [2019-05-15 10:30:01,342 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:01,342 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:01,342 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:01,343 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:01,343 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:01,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:01,361 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:01,361 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:01,361 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:01,362 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:01,362 INFO L87 Difference]: Start difference. First operand 27 states and 57 transitions. Second operand 10 states. [2019-05-15 10:30:02,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:02,183 INFO L93 Difference]: Finished difference Result 41 states and 70 transitions. [2019-05-15 10:30:02,183 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:02,183 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:02,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:02,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:02,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:30:02,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:02,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:30:02,184 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2019-05-15 10:30:02,259 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:02,260 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:30:02,260 INFO L226 Difference]: Without dead ends: 39 [2019-05-15 10:30:02,260 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:02,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2019-05-15 10:30:02,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 27. [2019-05-15 10:30:02,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:02,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:02,262 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:02,262 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:02,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:02,263 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:02,263 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:02,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:02,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:02,263 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 39 states. [2019-05-15 10:30:02,263 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 39 states. [2019-05-15 10:30:02,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:02,264 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:02,264 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:02,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:02,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:02,265 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:02,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:02,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:02,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:30:02,266 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 13 [2019-05-15 10:30:02,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:02,266 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:30:02,266 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:02,266 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:30:02,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:30:02,266 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:02,267 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:02,267 INFO L418 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:02,267 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:02,267 INFO L82 PathProgramCache]: Analyzing trace with hash -1837403472, now seen corresponding path program 7 times [2019-05-15 10:30:02,268 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:02,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:02,357 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:30:02,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:02,377 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:02,406 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:30:02,407 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,415 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:02,415 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,415 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:02,419 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:02,419 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|]. (and (= (store |v_#memory_int_140| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:02,419 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:02,450 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,451 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:02,452 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,462 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:02,462 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,463 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:02,504 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,505 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,507 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,508 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:02,509 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,521 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:02,522 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:02,522 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:02,526 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:02,527 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_142|, ULTIMATE.start_main_p3]. (and (= |#memory_int| (store |v_#memory_int_142| ULTIMATE.start_main_p3 0)) (= 0 (select |v_#memory_int_142| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_142| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:02,527 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:02,562 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,563 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,564 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,566 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:02,567 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,579 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:02,580 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:02,580 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:02,589 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:02,589 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_143| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_143| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:02,590 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:02,631 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,632 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,634 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,635 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:02,637 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,648 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:02,649 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:02,649 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:02,654 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:02,654 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_144| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_144| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:02,654 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:02,689 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,690 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,692 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:02,693 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:02,695 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:02,707 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:02,710 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:02,711 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:02,714 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:02,714 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_145| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_145| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_145| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:02,714 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:30:02,735 INFO L273 TraceCheckUtils]: 0: Hoare triple {4460#true} havoc main_p1, main_p2, main_p3; {4460#true} is VALID [2019-05-15 10:30:02,735 INFO L273 TraceCheckUtils]: 1: Hoare triple {4460#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4460#true} is VALID [2019-05-15 10:30:02,735 INFO L273 TraceCheckUtils]: 2: Hoare triple {4460#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4460#true} is VALID [2019-05-15 10:30:02,736 INFO L273 TraceCheckUtils]: 3: Hoare triple {4460#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4460#true} is VALID [2019-05-15 10:30:02,736 INFO L273 TraceCheckUtils]: 4: Hoare triple {4460#true} assume main_p1 < main_p2; {4477#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:02,737 INFO L273 TraceCheckUtils]: 5: Hoare triple {4477#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4481#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:02,738 INFO L273 TraceCheckUtils]: 6: Hoare triple {4481#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4485#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:02,738 INFO L273 TraceCheckUtils]: 7: Hoare triple {4485#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {4489#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:02,739 INFO L273 TraceCheckUtils]: 8: Hoare triple {4489#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {4493#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:02,742 INFO L273 TraceCheckUtils]: 9: Hoare triple {4493#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4497#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:02,745 INFO L273 TraceCheckUtils]: 10: Hoare triple {4497#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4501#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:02,747 INFO L273 TraceCheckUtils]: 11: Hoare triple {4501#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4505#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:30:02,748 INFO L273 TraceCheckUtils]: 12: Hoare triple {4505#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {4461#false} is VALID [2019-05-15 10:30:02,749 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:02,750 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:02,750 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:02,750 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:02,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:02,751 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:02,771 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:02,771 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:02,771 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:02,771 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:02,771 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 10 states. [2019-05-15 10:30:03,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:03,647 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:03,647 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:03,647 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:03,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:03,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:03,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:30:03,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:03,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:30:03,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 47 transitions. [2019-05-15 10:30:03,719 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:03,720 INFO L225 Difference]: With dead ends: 39 [2019-05-15 10:30:03,720 INFO L226 Difference]: Without dead ends: 39 [2019-05-15 10:30:03,720 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:30:03,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2019-05-15 10:30:03,722 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 26. [2019-05-15 10:30:03,722 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:03,722 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:03,722 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:03,722 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:03,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:03,723 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:03,723 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:03,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:03,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:03,723 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 39 states. [2019-05-15 10:30:03,723 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 39 states. [2019-05-15 10:30:03,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:03,724 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:03,724 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:03,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:03,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:03,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:03,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:03,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:30:03,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 53 transitions. [2019-05-15 10:30:03,726 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 53 transitions. Word has length 13 [2019-05-15 10:30:03,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:03,726 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 53 transitions. [2019-05-15 10:30:03,726 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:03,726 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 53 transitions. [2019-05-15 10:30:03,727 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:30:03,727 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:03,727 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:03,727 INFO L418 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:03,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:03,727 INFO L82 PathProgramCache]: Analyzing trace with hash -1837401426, now seen corresponding path program 6 times [2019-05-15 10:30:03,728 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:03,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:03,734 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:30:03,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:03,739 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:03,779 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:30:03,779 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,785 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,786 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,786 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:03,789 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:03,790 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_146|]. (and (= |#memory_int| (store |v_#memory_int_146| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:03,790 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:03,818 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,819 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:03,820 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,830 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,830 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,830 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:03,866 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,867 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,869 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,870 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:03,871 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,884 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,884 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,884 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:03,936 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,937 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,939 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,940 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:03,942 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,953 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,954 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,954 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:03,966 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:03,967 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_149|]. (let ((.cse0 (select |v_#memory_int_149| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_149| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_149| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_149| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:03,967 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:04,009 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:04,010 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:04,012 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:04,013 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:04,015 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:04,028 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:04,028 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:04,029 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:04,061 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:04,062 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_150|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_150| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= (store |v_#memory_int_150| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_150| ULTIMATE.start_main_p1) 1) (= 0 (select |v_#memory_int_150| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:04,062 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:04,164 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:04,166 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:04,168 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:04,169 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:04,175 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:04,188 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:04,189 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:04,189 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:07,719 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:07,719 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_151|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_151| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_151| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_151| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= 1 (select |v_#memory_int_151| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:07,720 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:07,747 INFO L273 TraceCheckUtils]: 0: Hoare triple {4659#true} havoc main_p1, main_p2, main_p3; {4659#true} is VALID [2019-05-15 10:30:07,748 INFO L273 TraceCheckUtils]: 1: Hoare triple {4659#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4659#true} is VALID [2019-05-15 10:30:07,748 INFO L273 TraceCheckUtils]: 2: Hoare triple {4659#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4659#true} is VALID [2019-05-15 10:30:07,748 INFO L273 TraceCheckUtils]: 3: Hoare triple {4659#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4659#true} is VALID [2019-05-15 10:30:07,749 INFO L273 TraceCheckUtils]: 4: Hoare triple {4659#true} assume main_p1 < main_p2; {4676#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:07,750 INFO L273 TraceCheckUtils]: 5: Hoare triple {4676#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4680#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:07,750 INFO L273 TraceCheckUtils]: 6: Hoare triple {4680#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4684#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:07,751 INFO L273 TraceCheckUtils]: 7: Hoare triple {4684#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {4688#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:07,752 INFO L273 TraceCheckUtils]: 8: Hoare triple {4688#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {4692#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:07,752 INFO L273 TraceCheckUtils]: 9: Hoare triple {4692#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4696#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:07,754 INFO L273 TraceCheckUtils]: 10: Hoare triple {4696#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4700#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:07,756 INFO L273 TraceCheckUtils]: 11: Hoare triple {4700#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4704#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:07,757 INFO L273 TraceCheckUtils]: 12: Hoare triple {4704#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {4660#false} is VALID [2019-05-15 10:30:07,758 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:07,759 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:07,759 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:07,759 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:07,759 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:07,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:07,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:07,779 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:07,780 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:07,780 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:07,780 INFO L87 Difference]: Start difference. First operand 26 states and 53 transitions. Second operand 10 states. [2019-05-15 10:30:08,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:08,538 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:30:08,538 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:08,538 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:08,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:08,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:08,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:30:08,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:08,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:30:08,540 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2019-05-15 10:30:08,625 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:08,626 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:30:08,626 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:30:08,626 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:08,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:30:08,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 27. [2019-05-15 10:30:08,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:08,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 27 states. [2019-05-15 10:30:08,628 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 27 states. [2019-05-15 10:30:08,628 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 27 states. [2019-05-15 10:30:08,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:08,629 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:30:08,629 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 71 transitions. [2019-05-15 10:30:08,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:08,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:08,630 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 42 states. [2019-05-15 10:30:08,630 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 42 states. [2019-05-15 10:30:08,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:08,631 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:30:08,631 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 71 transitions. [2019-05-15 10:30:08,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:08,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:08,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:08,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:08,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:08,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 57 transitions. [2019-05-15 10:30:08,632 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 57 transitions. Word has length 13 [2019-05-15 10:30:08,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:08,633 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 57 transitions. [2019-05-15 10:30:08,633 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:08,633 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 57 transitions. [2019-05-15 10:30:08,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:30:08,633 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:08,633 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:08,634 INFO L418 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:08,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:08,634 INFO L82 PathProgramCache]: Analyzing trace with hash -1837401364, now seen corresponding path program 6 times [2019-05-15 10:30:08,635 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:08,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:08,642 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:30:08,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:08,652 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:08,698 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:30:08,699 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:08,707 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:08,707 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:08,707 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:08,711 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:08,711 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_152|]. (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_152| ULTIMATE.start_main_p1 0))) [2019-05-15 10:30:08,711 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:08,736 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,737 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:08,739 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:08,747 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:08,748 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:08,748 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:08,751 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:08,751 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_153|, ULTIMATE.start_main_p2]. (and (= (select |v_#memory_int_153| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_153| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:08,751 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:08,780 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,781 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,783 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,784 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:08,785 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:08,797 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:08,798 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:08,798 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:08,838 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,839 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,841 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,843 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:08,846 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:08,857 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:08,858 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:08,858 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:08,862 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:08,862 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_155| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_155| ULTIMATE.start_main_p3)))) [2019-05-15 10:30:08,862 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:08,898 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,899 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,900 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,903 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:08,905 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:08,915 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:08,915 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:08,916 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:08,920 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:08,920 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_156|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_156| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_156| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_156| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:30:08,920 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:08,979 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,979 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,981 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:08,982 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:08,984 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:08,997 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:08,998 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:08,998 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:09,004 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:09,005 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_157|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_157| ULTIMATE.start_main_p3))) (and (= 1 .cse0) (= (store |v_#memory_int_157| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_157| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_157| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:09,005 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:09,027 INFO L273 TraceCheckUtils]: 0: Hoare triple {4864#true} havoc main_p1, main_p2, main_p3; {4864#true} is VALID [2019-05-15 10:30:09,028 INFO L273 TraceCheckUtils]: 1: Hoare triple {4864#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4864#true} is VALID [2019-05-15 10:30:09,028 INFO L273 TraceCheckUtils]: 2: Hoare triple {4864#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4864#true} is VALID [2019-05-15 10:30:09,028 INFO L273 TraceCheckUtils]: 3: Hoare triple {4864#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4864#true} is VALID [2019-05-15 10:30:09,032 INFO L273 TraceCheckUtils]: 4: Hoare triple {4864#true} assume main_p1 < main_p2; {4881#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:09,033 INFO L273 TraceCheckUtils]: 5: Hoare triple {4881#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4885#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:09,033 INFO L273 TraceCheckUtils]: 6: Hoare triple {4885#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4889#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:09,034 INFO L273 TraceCheckUtils]: 7: Hoare triple {4889#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {4893#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:09,035 INFO L273 TraceCheckUtils]: 8: Hoare triple {4893#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {4897#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:09,037 INFO L273 TraceCheckUtils]: 9: Hoare triple {4897#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4901#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:09,039 INFO L273 TraceCheckUtils]: 10: Hoare triple {4901#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4905#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:09,041 INFO L273 TraceCheckUtils]: 11: Hoare triple {4905#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4909#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:09,044 INFO L273 TraceCheckUtils]: 12: Hoare triple {4909#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {4865#false} is VALID [2019-05-15 10:30:09,046 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:09,046 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:09,046 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:09,047 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:09,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:09,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:09,066 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:09,067 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:09,067 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:09,067 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:09,067 INFO L87 Difference]: Start difference. First operand 27 states and 57 transitions. Second operand 10 states. [2019-05-15 10:30:10,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:10,170 INFO L93 Difference]: Finished difference Result 41 states and 70 transitions. [2019-05-15 10:30:10,170 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:10,170 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:10,170 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:10,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:10,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:30:10,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:10,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:30:10,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2019-05-15 10:30:10,248 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:10,249 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:30:10,249 INFO L226 Difference]: Without dead ends: 39 [2019-05-15 10:30:10,250 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:30:10,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2019-05-15 10:30:10,252 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 27. [2019-05-15 10:30:10,252 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:10,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:10,252 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:10,252 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:10,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:10,253 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:10,253 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:10,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:10,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:10,253 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 39 states. [2019-05-15 10:30:10,253 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 39 states. [2019-05-15 10:30:10,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:10,254 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:10,254 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:10,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:10,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:10,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:10,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:10,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:10,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:30:10,255 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 13 [2019-05-15 10:30:10,255 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:10,255 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:30:10,255 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:10,255 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:30:10,256 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:30:10,256 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:10,256 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:10,256 INFO L418 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:10,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:10,256 INFO L82 PathProgramCache]: Analyzing trace with hash -1837401550, now seen corresponding path program 7 times [2019-05-15 10:30:10,257 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:10,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:10,264 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:30:10,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:10,270 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:10,298 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:30:10,298 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:10,306 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:10,306 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:10,306 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:10,309 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:10,310 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_158|]. (and (= (store |v_#memory_int_158| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:10,310 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:10,335 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,336 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:10,337 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:10,347 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:10,347 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:10,348 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:10,363 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:10,363 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_159| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_159| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:10,363 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:10,398 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,399 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,401 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,403 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:10,406 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:10,416 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:10,417 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:10,417 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:10,459 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,461 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,462 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,463 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:10,466 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:10,478 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:10,478 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:10,479 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:10,483 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:10,483 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_161| ULTIMATE.start_main_p3) 0))) [2019-05-15 10:30:10,484 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:10,521 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,526 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,527 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:10,528 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:10,530 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:10,542 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:10,543 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:10,543 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:14,001 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:14,001 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_162|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_162| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_162| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_162| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_162| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:14,001 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:14,055 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:14,056 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:14,057 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:14,058 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:14,060 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:14,072 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:14,073 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:14,073 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:14,079 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:14,079 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_163|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_163| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_163| ULTIMATE.start_main_p3)) (= 1 .cse0) (= |#memory_int| (store |v_#memory_int_163| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_163| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:14,079 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:14,101 INFO L273 TraceCheckUtils]: 0: Hoare triple {5068#true} havoc main_p1, main_p2, main_p3; {5068#true} is VALID [2019-05-15 10:30:14,102 INFO L273 TraceCheckUtils]: 1: Hoare triple {5068#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {5068#true} is VALID [2019-05-15 10:30:14,102 INFO L273 TraceCheckUtils]: 2: Hoare triple {5068#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {5068#true} is VALID [2019-05-15 10:30:14,102 INFO L273 TraceCheckUtils]: 3: Hoare triple {5068#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {5068#true} is VALID [2019-05-15 10:30:14,103 INFO L273 TraceCheckUtils]: 4: Hoare triple {5068#true} assume main_p1 < main_p2; {5085#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:14,103 INFO L273 TraceCheckUtils]: 5: Hoare triple {5085#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {5089#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:14,104 INFO L273 TraceCheckUtils]: 6: Hoare triple {5089#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {5093#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:14,105 INFO L273 TraceCheckUtils]: 7: Hoare triple {5093#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {5097#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:14,106 INFO L273 TraceCheckUtils]: 8: Hoare triple {5097#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {5101#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:14,123 INFO L273 TraceCheckUtils]: 9: Hoare triple {5101#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5105#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:14,137 INFO L273 TraceCheckUtils]: 10: Hoare triple {5105#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:14,144 INFO L273 TraceCheckUtils]: 11: Hoare triple {5109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5113#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:30:14,145 INFO L273 TraceCheckUtils]: 12: Hoare triple {5113#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {5069#false} is VALID [2019-05-15 10:30:14,145 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:14,145 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:14,146 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:14,146 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:14,146 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:14,146 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:14,164 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:14,164 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:14,164 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:14,164 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:14,165 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 10 states. [2019-05-15 10:30:15,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:15,082 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:15,082 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:15,082 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:15,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:15,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:15,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:30:15,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:15,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:30:15,083 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 47 transitions. [2019-05-15 10:30:15,161 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:15,162 INFO L225 Difference]: With dead ends: 39 [2019-05-15 10:30:15,163 INFO L226 Difference]: Without dead ends: 39 [2019-05-15 10:30:15,163 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:30:15,163 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2019-05-15 10:30:15,164 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 26. [2019-05-15 10:30:15,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:15,165 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:15,165 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:15,165 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:15,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:15,166 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:15,166 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:15,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:15,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:15,167 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 39 states. [2019-05-15 10:30:15,167 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 39 states. [2019-05-15 10:30:15,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:15,168 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:15,168 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:15,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:15,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:15,169 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:15,169 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:15,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:30:15,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 53 transitions. [2019-05-15 10:30:15,170 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 53 transitions. Word has length 13 [2019-05-15 10:30:15,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:15,170 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 53 transitions. [2019-05-15 10:30:15,170 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:15,170 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 53 transitions. [2019-05-15 10:30:15,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:30:15,170 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:15,170 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:15,171 INFO L418 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:15,171 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:15,171 INFO L82 PathProgramCache]: Analyzing trace with hash -1837407192, now seen corresponding path program 8 times [2019-05-15 10:30:15,172 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:15,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:15,178 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:30:15,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:15,189 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:15,225 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:30:15,225 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,233 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:15,234 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,234 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:15,237 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:15,237 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|]. (and (= |#memory_int| (store |v_#memory_int_164| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:15,238 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:15,265 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,266 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:15,267 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,278 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:15,278 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,278 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:15,315 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,317 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,318 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,320 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:15,331 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,342 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:15,343 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:15,343 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:15,347 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:15,348 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_166| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_166| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p3 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:15,348 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:15,390 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,392 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,393 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,395 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:15,397 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,408 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:15,409 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:15,409 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:15,421 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:15,421 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_167|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_167| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_167| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_167| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_167| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:15,421 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:15,464 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,465 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,467 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,468 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:15,487 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,498 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:15,499 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:15,499 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:15,511 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:15,511 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_168|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_168| ULTIMATE.start_main_p1))) (and (= .cse0 1) (= (store |v_#memory_int_168| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_168| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_168| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:15,512 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:15,560 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,561 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,562 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:15,564 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:15,566 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:15,580 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:15,580 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:15,581 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:15,589 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:15,590 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_169|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_169| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_169| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_169| ULTIMATE.start_main_p1) 2) (= .cse0 0) (= (select |v_#memory_int_169| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:15,590 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:15,615 INFO L273 TraceCheckUtils]: 0: Hoare triple {5269#true} havoc main_p1, main_p2, main_p3; {5269#true} is VALID [2019-05-15 10:30:15,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {5269#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {5269#true} is VALID [2019-05-15 10:30:15,615 INFO L273 TraceCheckUtils]: 2: Hoare triple {5269#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {5269#true} is VALID [2019-05-15 10:30:15,616 INFO L273 TraceCheckUtils]: 3: Hoare triple {5269#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {5269#true} is VALID [2019-05-15 10:30:15,616 INFO L273 TraceCheckUtils]: 4: Hoare triple {5269#true} assume main_p1 < main_p2; {5286#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:15,617 INFO L273 TraceCheckUtils]: 5: Hoare triple {5286#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {5290#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:15,617 INFO L273 TraceCheckUtils]: 6: Hoare triple {5290#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {5294#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:15,618 INFO L273 TraceCheckUtils]: 7: Hoare triple {5294#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {5298#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:15,620 INFO L273 TraceCheckUtils]: 8: Hoare triple {5298#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {5302#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:15,621 INFO L273 TraceCheckUtils]: 9: Hoare triple {5302#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5306#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:15,623 INFO L273 TraceCheckUtils]: 10: Hoare triple {5306#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5310#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:15,625 INFO L273 TraceCheckUtils]: 11: Hoare triple {5310#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5314#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:15,626 INFO L273 TraceCheckUtils]: 12: Hoare triple {5314#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5270#false} is VALID [2019-05-15 10:30:15,628 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:15,628 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:15,628 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:15,629 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:15,629 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:15,629 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:15,649 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:15,649 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:15,650 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:15,650 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:15,650 INFO L87 Difference]: Start difference. First operand 26 states and 53 transitions. Second operand 10 states. [2019-05-15 10:30:16,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:16,718 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:30:16,718 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:16,718 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:16,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:16,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:16,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:30:16,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:16,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2019-05-15 10:30:16,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2019-05-15 10:30:16,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:16,806 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:30:16,806 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:30:16,806 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:30:16,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:30:16,808 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 27. [2019-05-15 10:30:16,808 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:16,808 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 27 states. [2019-05-15 10:30:16,808 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 27 states. [2019-05-15 10:30:16,808 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 27 states. [2019-05-15 10:30:16,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:16,809 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:30:16,809 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 71 transitions. [2019-05-15 10:30:16,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:16,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:16,810 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 42 states. [2019-05-15 10:30:16,810 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 42 states. [2019-05-15 10:30:16,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:16,811 INFO L93 Difference]: Finished difference Result 42 states and 71 transitions. [2019-05-15 10:30:16,811 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 71 transitions. [2019-05-15 10:30:16,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:16,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:16,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:16,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:16,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:16,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 57 transitions. [2019-05-15 10:30:16,812 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 57 transitions. Word has length 13 [2019-05-15 10:30:16,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:16,812 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 57 transitions. [2019-05-15 10:30:16,812 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:16,812 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 57 transitions. [2019-05-15 10:30:16,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:30:16,813 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:16,813 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:16,813 INFO L418 AbstractCegarLoop]: === Iteration 30 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:16,813 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:16,813 INFO L82 PathProgramCache]: Analyzing trace with hash -1837407130, now seen corresponding path program 8 times [2019-05-15 10:30:16,814 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:16,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:16,821 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:30:16,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:16,841 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:16,899 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:30:16,899 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:16,907 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:16,908 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:16,908 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:16,912 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:16,912 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_170|]. (and (= |#memory_int| (store |v_#memory_int_170| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:16,912 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:16,939 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:16,940 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:16,941 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:16,951 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:16,952 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:16,952 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:16,956 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:16,957 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_171|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_171| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_171| ULTIMATE.start_main_p2 0) |#memory_int|)) [2019-05-15 10:30:16,957 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:16,987 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:16,988 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:16,990 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:16,991 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:16,993 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,003 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,004 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:17,004 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:17,068 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,069 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,070 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,071 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:17,073 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,085 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,086 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:17,086 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:17,091 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,092 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_173|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_173| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_173| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p3)))) [2019-05-15 10:30:17,092 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:17,128 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,129 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,131 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,132 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:17,136 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,148 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,148 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:17,149 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:17,158 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,158 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_174|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_174| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_174| ULTIMATE.start_main_p3) 0) (= .cse0 1) (= (store |v_#memory_int_174| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_174| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:17,158 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:17,196 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,197 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,199 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,200 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:17,203 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,214 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,215 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:17,215 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:17,223 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,224 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_175|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_175| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_175| ULTIMATE.start_main_p2) 0) (= 2 (select |v_#memory_int_175| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_175| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:30:17,224 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:17,249 INFO L273 TraceCheckUtils]: 0: Hoare triple {5478#true} havoc main_p1, main_p2, main_p3; {5478#true} is VALID [2019-05-15 10:30:17,249 INFO L273 TraceCheckUtils]: 1: Hoare triple {5478#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {5478#true} is VALID [2019-05-15 10:30:17,250 INFO L273 TraceCheckUtils]: 2: Hoare triple {5478#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {5478#true} is VALID [2019-05-15 10:30:17,250 INFO L273 TraceCheckUtils]: 3: Hoare triple {5478#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {5478#true} is VALID [2019-05-15 10:30:17,250 INFO L273 TraceCheckUtils]: 4: Hoare triple {5478#true} assume main_p1 < main_p2; {5495#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:17,251 INFO L273 TraceCheckUtils]: 5: Hoare triple {5495#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {5499#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:17,252 INFO L273 TraceCheckUtils]: 6: Hoare triple {5499#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {5503#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:17,253 INFO L273 TraceCheckUtils]: 7: Hoare triple {5503#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {5507#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:17,254 INFO L273 TraceCheckUtils]: 8: Hoare triple {5507#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {5511#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:17,256 INFO L273 TraceCheckUtils]: 9: Hoare triple {5511#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5515#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:17,258 INFO L273 TraceCheckUtils]: 10: Hoare triple {5515#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5519#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:17,260 INFO L273 TraceCheckUtils]: 11: Hoare triple {5519#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5523#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:30:17,261 INFO L273 TraceCheckUtils]: 12: Hoare triple {5523#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {5479#false} is VALID [2019-05-15 10:30:17,263 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:17,263 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:17,263 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:17,264 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:17,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:17,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:17,284 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:17,284 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:17,285 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:17,285 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:17,285 INFO L87 Difference]: Start difference. First operand 27 states and 57 transitions. Second operand 10 states. [2019-05-15 10:30:18,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:18,343 INFO L93 Difference]: Finished difference Result 41 states and 70 transitions. [2019-05-15 10:30:18,343 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:18,343 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:18,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:18,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:18,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:30:18,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:18,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2019-05-15 10:30:18,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2019-05-15 10:30:18,427 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:18,428 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:30:18,428 INFO L226 Difference]: Without dead ends: 39 [2019-05-15 10:30:18,429 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:30:18,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2019-05-15 10:30:18,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 27. [2019-05-15 10:30:18,431 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:18,431 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:18,431 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:18,431 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 27 states. [2019-05-15 10:30:18,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:18,432 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:18,432 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:18,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:18,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:18,433 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 39 states. [2019-05-15 10:30:18,433 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 39 states. [2019-05-15 10:30:18,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:18,434 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:18,434 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:18,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:18,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:18,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:18,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:18,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:18,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:30:18,436 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 13 [2019-05-15 10:30:18,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:18,436 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:30:18,436 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:18,436 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:30:18,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:30:18,436 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:18,436 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:18,437 INFO L418 AbstractCegarLoop]: === Iteration 31 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:18,437 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:18,437 INFO L82 PathProgramCache]: Analyzing trace with hash -1837407316, now seen corresponding path program 3 times [2019-05-15 10:30:18,438 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:18,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:18,444 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:30:18,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:18,452 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:18,533 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:30:18,534 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:18,542 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:18,543 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:18,543 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:18,547 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:18,547 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_176|]. (and (= (store |v_#memory_int_176| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,548 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,577 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,578 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:18,581 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:18,590 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:18,591 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:18,591 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:18,595 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:18,596 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_177|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_177| ULTIMATE.start_main_p2 0) |#memory_int|) (= 0 (select |v_#memory_int_177| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,596 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,628 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,630 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,631 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,632 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:18,634 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:18,647 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:18,648 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:18,648 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:18,653 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:18,653 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_178|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_178| ULTIMATE.start_main_p3 0)) (= (select |v_#memory_int_178| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_178| ULTIMATE.start_main_p1) 0)) [2019-05-15 10:30:18,654 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,693 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,695 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,696 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,697 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:18,700 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:18,712 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:18,712 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:18,713 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:18,718 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:18,718 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_179|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_179| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_179| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_179| ULTIMATE.start_main_p3)) (= .cse0 0) (= (select |v_#memory_int_179| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:18,718 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,756 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,757 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,759 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,760 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:18,763 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:18,774 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:18,775 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:18,775 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:18,780 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:18,780 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_180|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_180| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_180| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_180| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_180| ULTIMATE.start_main_p3) 0) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:18,781 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,828 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,829 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,831 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:18,832 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:18,835 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:18,846 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:18,847 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:18,847 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:30:18,853 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:18,854 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_181|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_181| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_181| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_181| ULTIMATE.start_main_p2)) (= 2 .cse0) (= |#memory_int| (store |v_#memory_int_181| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:18,854 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:18,878 INFO L273 TraceCheckUtils]: 0: Hoare triple {5682#true} havoc main_p1, main_p2, main_p3; {5682#true} is VALID [2019-05-15 10:30:18,879 INFO L273 TraceCheckUtils]: 1: Hoare triple {5682#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {5682#true} is VALID [2019-05-15 10:30:18,879 INFO L273 TraceCheckUtils]: 2: Hoare triple {5682#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {5682#true} is VALID [2019-05-15 10:30:18,879 INFO L273 TraceCheckUtils]: 3: Hoare triple {5682#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {5682#true} is VALID [2019-05-15 10:30:18,881 INFO L273 TraceCheckUtils]: 4: Hoare triple {5682#true} assume main_p1 < main_p2; {5699#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:18,882 INFO L273 TraceCheckUtils]: 5: Hoare triple {5699#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {5703#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:18,886 INFO L273 TraceCheckUtils]: 6: Hoare triple {5703#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {5707#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:18,889 INFO L273 TraceCheckUtils]: 7: Hoare triple {5707#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {5711#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:18,890 INFO L273 TraceCheckUtils]: 8: Hoare triple {5711#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {5715#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:18,892 INFO L273 TraceCheckUtils]: 9: Hoare triple {5715#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5719#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:18,894 INFO L273 TraceCheckUtils]: 10: Hoare triple {5719#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5723#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:18,896 INFO L273 TraceCheckUtils]: 11: Hoare triple {5723#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5727#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:18,897 INFO L273 TraceCheckUtils]: 12: Hoare triple {5727#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5683#false} is VALID [2019-05-15 10:30:18,898 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:18,898 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:18,898 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:30:18,899 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:18,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:18,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:30:18,920 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:18,920 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:30:18,920 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:30:18,920 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:18,921 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 10 states. [2019-05-15 10:30:19,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:19,923 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:19,923 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:30:19,923 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 13 [2019-05-15 10:30:19,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:19,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:19,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:30:19,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:30:19,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2019-05-15 10:30:19,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 47 transitions. [2019-05-15 10:30:19,998 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:19,999 INFO L225 Difference]: With dead ends: 39 [2019-05-15 10:30:19,999 INFO L226 Difference]: Without dead ends: 39 [2019-05-15 10:30:20,000 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:30:20,000 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2019-05-15 10:30:20,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 26. [2019-05-15 10:30:20,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:20,001 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:20,001 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:20,001 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 26 states. [2019-05-15 10:30:20,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:20,002 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:20,002 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:20,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:20,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:20,003 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 39 states. [2019-05-15 10:30:20,003 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 39 states. [2019-05-15 10:30:20,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:20,003 INFO L93 Difference]: Finished difference Result 39 states and 68 transitions. [2019-05-15 10:30:20,003 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 68 transitions. [2019-05-15 10:30:20,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:20,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:20,004 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:20,004 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:20,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:30:20,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 53 transitions. [2019-05-15 10:30:20,004 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 53 transitions. Word has length 13 [2019-05-15 10:30:20,005 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:20,005 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 53 transitions. [2019-05-15 10:30:20,005 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:30:20,005 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 53 transitions. [2019-05-15 10:30:20,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:20,005 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:20,005 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:20,005 INFO L418 AbstractCegarLoop]: === Iteration 32 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:20,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:20,006 INFO L82 PathProgramCache]: Analyzing trace with hash -1121234800, now seen corresponding path program 3 times [2019-05-15 10:30:20,006 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:20,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:20,013 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:30:20,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:20,045 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:20,088 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:30:20,088 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,094 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,095 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,095 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:30:20,098 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,098 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_182|]. (and (= (store |v_#memory_int_182| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:20,098 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:20,119 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,120 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:20,121 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,129 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,129 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:20,130 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:15, output treesize:14 [2019-05-15 10:30:20,133 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,134 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_183|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_183| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_183| ULTIMATE.start_main_p3 0) |#memory_int|)) [2019-05-15 10:30:20,134 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:20,159 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,160 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 21 treesize of output 19 [2019-05-15 10:30:20,161 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,168 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,169 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:20,169 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:16 [2019-05-15 10:30:20,175 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,176 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_184|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_184| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_184| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_184| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:20,176 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:20,243 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,244 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 23 treesize of output 21 [2019-05-15 10:30:20,246 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,254 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,255 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:20,255 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:30:20,272 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,273 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_185|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_185| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_185| ULTIMATE.start_main_p3) 0) (= 0 (+ .cse0 1)) (= (store |v_#memory_int_185| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:20,273 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:20,464 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,465 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 23 treesize of output 21 [2019-05-15 10:30:20,468 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,476 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,477 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:20,477 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:30:20,481 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,481 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_186|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_186| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_186| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_186| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ .cse0 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:20,481 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:20,507 INFO L273 TraceCheckUtils]: 0: Hoare triple {5883#true} havoc main_p1, main_p2, main_p3; {5883#true} is VALID [2019-05-15 10:30:20,508 INFO L273 TraceCheckUtils]: 1: Hoare triple {5883#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {5883#true} is VALID [2019-05-15 10:30:20,508 INFO L273 TraceCheckUtils]: 2: Hoare triple {5883#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {5883#true} is VALID [2019-05-15 10:30:20,508 INFO L273 TraceCheckUtils]: 3: Hoare triple {5883#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {5883#true} is VALID [2019-05-15 10:30:20,509 INFO L273 TraceCheckUtils]: 4: Hoare triple {5883#true} assume main_p1 < main_p2; {5883#true} is VALID [2019-05-15 10:30:20,509 INFO L273 TraceCheckUtils]: 5: Hoare triple {5883#true} assume main_p2 < main_p3; {5903#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:30:20,510 INFO L273 TraceCheckUtils]: 6: Hoare triple {5903#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {5903#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:30:20,510 INFO L273 TraceCheckUtils]: 7: Hoare triple {5903#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {5910#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:20,511 INFO L273 TraceCheckUtils]: 8: Hoare triple {5910#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {5914#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:30:20,513 INFO L273 TraceCheckUtils]: 9: Hoare triple {5914#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5918#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-05-15 10:30:20,515 INFO L273 TraceCheckUtils]: 10: Hoare triple {5918#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5922#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0))} is VALID [2019-05-15 10:30:20,516 INFO L273 TraceCheckUtils]: 11: Hoare triple {5922#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5926#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0))} is VALID [2019-05-15 10:30:20,518 INFO L273 TraceCheckUtils]: 12: Hoare triple {5926#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0))} assume #memory_int[main_p1] >= 0; {5926#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0))} is VALID [2019-05-15 10:30:20,518 INFO L273 TraceCheckUtils]: 13: Hoare triple {5926#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0))} assume !(#memory_int[main_p2] <= 0); {5884#false} is VALID [2019-05-15 10:30:20,519 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:20,520 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:20,520 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:30:20,520 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:30:20,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:20,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:30:20,539 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:20,539 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:30:20,540 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:30:20,540 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:30:20,540 INFO L87 Difference]: Start difference. First operand 26 states and 53 transitions. Second operand 8 states. [2019-05-15 10:30:21,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:21,189 INFO L93 Difference]: Finished difference Result 37 states and 67 transitions. [2019-05-15 10:30:21,189 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:30:21,189 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:30:21,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:21,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:30:21,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:30:21,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:30:21,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:30:21,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 42 transitions. [2019-05-15 10:30:21,251 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:21,252 INFO L225 Difference]: With dead ends: 37 [2019-05-15 10:30:21,253 INFO L226 Difference]: Without dead ends: 37 [2019-05-15 10:30:21,253 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:21,253 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2019-05-15 10:30:21,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 28. [2019-05-15 10:30:21,255 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:21,255 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 28 states. [2019-05-15 10:30:21,255 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 28 states. [2019-05-15 10:30:21,255 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 28 states. [2019-05-15 10:30:21,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:21,256 INFO L93 Difference]: Finished difference Result 37 states and 67 transitions. [2019-05-15 10:30:21,256 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 67 transitions. [2019-05-15 10:30:21,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:21,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:21,257 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 37 states. [2019-05-15 10:30:21,257 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 37 states. [2019-05-15 10:30:21,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:21,258 INFO L93 Difference]: Finished difference Result 37 states and 67 transitions. [2019-05-15 10:30:21,258 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 67 transitions. [2019-05-15 10:30:21,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:21,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:21,258 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:21,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:21,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:30:21,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 61 transitions. [2019-05-15 10:30:21,259 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 61 transitions. Word has length 14 [2019-05-15 10:30:21,259 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:21,259 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 61 transitions. [2019-05-15 10:30:21,260 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:30:21,260 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 61 transitions. [2019-05-15 10:30:21,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:21,260 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:21,260 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:21,260 INFO L418 AbstractCegarLoop]: === Iteration 33 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:21,261 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:21,261 INFO L82 PathProgramCache]: Analyzing trace with hash -1121235112, now seen corresponding path program 9 times [2019-05-15 10:30:21,261 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:21,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:21,268 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:30:21,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:21,286 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:21,556 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:30:21,556 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,565 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:21,565 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,565 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:21,568 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:21,569 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_187|]. (and (= |#memory_int| (store |v_#memory_int_187| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:21,569 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:21,596 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,598 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:21,599 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,609 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:21,610 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,610 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:21,646 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,648 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,649 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,650 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:21,652 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,665 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:21,666 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:21,666 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:21,671 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:21,671 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_189|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_189| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_189| ULTIMATE.start_main_p3 0) |#memory_int|) (= 0 (select |v_#memory_int_189| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:21,671 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:21,715 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,716 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,718 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,719 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:21,721 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,732 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:21,733 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:21,733 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:21,737 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:21,737 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_190|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_190| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (store |v_#memory_int_190| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_190| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_190| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:21,737 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:21,782 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,783 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,785 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,787 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:21,792 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,805 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:21,806 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:21,806 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:21,811 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:21,811 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_191|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_191| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_191| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_191| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_191| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:21,811 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:21,859 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,861 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,880 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,881 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:21,884 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,898 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:21,898 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:21,899 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:21,906 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:21,906 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_192|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_192| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_192| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_192| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_192| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ .cse0 2) 0))) [2019-05-15 10:30:21,906 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:21,953 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,955 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,960 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:21,961 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:21,965 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:21,977 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:21,978 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:21,978 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:22,000 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:22,001 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_193|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_193| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (store |v_#memory_int_193| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_193| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_193| ULTIMATE.start_main_p3)))) [2019-05-15 10:30:22,001 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:22,138 INFO L273 TraceCheckUtils]: 0: Hoare triple {6079#true} havoc main_p1, main_p2, main_p3; {6079#true} is VALID [2019-05-15 10:30:22,138 INFO L273 TraceCheckUtils]: 1: Hoare triple {6079#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {6079#true} is VALID [2019-05-15 10:30:22,138 INFO L273 TraceCheckUtils]: 2: Hoare triple {6079#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {6079#true} is VALID [2019-05-15 10:30:22,139 INFO L273 TraceCheckUtils]: 3: Hoare triple {6079#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {6079#true} is VALID [2019-05-15 10:30:22,139 INFO L273 TraceCheckUtils]: 4: Hoare triple {6079#true} assume main_p1 < main_p2; {6096#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:22,140 INFO L273 TraceCheckUtils]: 5: Hoare triple {6096#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {6100#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:22,141 INFO L273 TraceCheckUtils]: 6: Hoare triple {6100#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {6104#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:22,142 INFO L273 TraceCheckUtils]: 7: Hoare triple {6104#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {6108#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:22,144 INFO L273 TraceCheckUtils]: 8: Hoare triple {6108#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {6112#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:22,146 INFO L273 TraceCheckUtils]: 9: Hoare triple {6112#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6116#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:22,148 INFO L273 TraceCheckUtils]: 10: Hoare triple {6116#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6120#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:22,150 INFO L273 TraceCheckUtils]: 11: Hoare triple {6120#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6124#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:22,153 INFO L273 TraceCheckUtils]: 12: Hoare triple {6124#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6128#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:22,154 INFO L273 TraceCheckUtils]: 13: Hoare triple {6128#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {6080#false} is VALID [2019-05-15 10:30:22,155 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:22,155 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:22,156 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:30:22,156 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:22,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:22,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:30:22,179 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:22,179 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:30:22,180 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:30:22,180 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:30:22,180 INFO L87 Difference]: Start difference. First operand 28 states and 61 transitions. Second operand 11 states. [2019-05-15 10:30:23,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:23,348 INFO L93 Difference]: Finished difference Result 46 states and 77 transitions. [2019-05-15 10:30:23,348 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:30:23,348 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:23,348 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:23,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:23,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:30:23,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:23,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:30:23,350 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2019-05-15 10:30:23,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:23,452 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:30:23,452 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:30:23,453 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:30:23,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:30:23,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 27. [2019-05-15 10:30:23,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:23,455 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 27 states. [2019-05-15 10:30:23,455 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 27 states. [2019-05-15 10:30:23,455 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 27 states. [2019-05-15 10:30:23,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:23,456 INFO L93 Difference]: Finished difference Result 46 states and 77 transitions. [2019-05-15 10:30:23,456 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 77 transitions. [2019-05-15 10:30:23,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:23,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:23,456 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 46 states. [2019-05-15 10:30:23,456 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 46 states. [2019-05-15 10:30:23,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:23,457 INFO L93 Difference]: Finished difference Result 46 states and 77 transitions. [2019-05-15 10:30:23,457 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 77 transitions. [2019-05-15 10:30:23,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:23,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:23,458 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:23,458 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:23,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:23,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 57 transitions. [2019-05-15 10:30:23,458 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 57 transitions. Word has length 14 [2019-05-15 10:30:23,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:23,458 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 57 transitions. [2019-05-15 10:30:23,459 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:30:23,459 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 57 transitions. [2019-05-15 10:30:23,459 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:23,459 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:23,459 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:23,459 INFO L418 AbstractCegarLoop]: === Iteration 34 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:23,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:23,460 INFO L82 PathProgramCache]: Analyzing trace with hash -1121232878, now seen corresponding path program 3 times [2019-05-15 10:30:23,460 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:23,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:23,465 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:30:23,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:23,470 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:23,488 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:30:23,488 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,494 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:23,495 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,495 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:30:23,498 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:23,498 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_194|]. (and (= (store |v_#memory_int_194| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:23,499 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:23,517 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,518 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:23,520 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,526 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:23,526 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,526 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:30:23,614 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,615 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 21 treesize of output 19 [2019-05-15 10:30:23,641 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,752 WARN L188 SmtUtils]: Spent 110.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2019-05-15 10:30:23,753 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:23,753 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,753 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:30:23,772 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:23,772 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_196|]. (let ((.cse0 (select |v_#memory_int_196| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_196| ULTIMATE.start_main_p3)) (= .cse0 0) (= (store |v_#memory_int_196| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:23,772 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:24,007 WARN L188 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2019-05-15 10:30:24,170 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:24,171 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 23 treesize of output 21 [2019-05-15 10:30:24,173 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:24,179 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:24,180 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:24,180 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:16 [2019-05-15 10:30:24,192 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:24,193 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_197|]. (let ((.cse0 (select |v_#memory_int_197| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 1)) (= |#memory_int| (store |v_#memory_int_197| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_197| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:24,193 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:24,218 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:24,219 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 23 treesize of output 21 [2019-05-15 10:30:24,224 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:24,230 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:24,231 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:24,231 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:30:24,249 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:24,249 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_198|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_198| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_198| ULTIMATE.start_main_p2) 2)) (= (store |v_#memory_int_198| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:24,249 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:24,273 INFO L273 TraceCheckUtils]: 0: Hoare triple {6306#true} havoc main_p1, main_p2, main_p3; {6306#true} is VALID [2019-05-15 10:30:24,273 INFO L273 TraceCheckUtils]: 1: Hoare triple {6306#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {6306#true} is VALID [2019-05-15 10:30:24,273 INFO L273 TraceCheckUtils]: 2: Hoare triple {6306#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {6306#true} is VALID [2019-05-15 10:30:24,274 INFO L273 TraceCheckUtils]: 3: Hoare triple {6306#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {6306#true} is VALID [2019-05-15 10:30:24,274 INFO L273 TraceCheckUtils]: 4: Hoare triple {6306#true} assume main_p1 < main_p2; {6306#true} is VALID [2019-05-15 10:30:24,274 INFO L273 TraceCheckUtils]: 5: Hoare triple {6306#true} assume main_p2 < main_p3; {6326#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:30:24,275 INFO L273 TraceCheckUtils]: 6: Hoare triple {6326#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {6326#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:30:24,276 INFO L273 TraceCheckUtils]: 7: Hoare triple {6326#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {6333#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:24,277 INFO L273 TraceCheckUtils]: 8: Hoare triple {6333#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {6337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:24,278 INFO L273 TraceCheckUtils]: 9: Hoare triple {6337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:24,279 INFO L273 TraceCheckUtils]: 10: Hoare triple {6341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6345#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:24,280 INFO L273 TraceCheckUtils]: 11: Hoare triple {6345#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {6349#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:30:24,281 INFO L273 TraceCheckUtils]: 12: Hoare triple {6349#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {6349#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:30:24,282 INFO L273 TraceCheckUtils]: 13: Hoare triple {6349#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {6307#false} is VALID [2019-05-15 10:30:24,282 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:24,283 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:24,283 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:30:24,283 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:30:24,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:24,283 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:30:24,299 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:24,299 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:30:24,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:30:24,300 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:30:24,300 INFO L87 Difference]: Start difference. First operand 27 states and 57 transitions. Second operand 8 states. [2019-05-15 10:30:24,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:24,848 INFO L93 Difference]: Finished difference Result 36 states and 66 transitions. [2019-05-15 10:30:24,848 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:30:24,848 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:30:24,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:24,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:30:24,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:30:24,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:30:24,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:30:24,850 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 42 transitions. [2019-05-15 10:30:24,915 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:24,916 INFO L225 Difference]: With dead ends: 36 [2019-05-15 10:30:24,916 INFO L226 Difference]: Without dead ends: 34 [2019-05-15 10:30:24,917 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:30:24,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2019-05-15 10:30:24,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 28. [2019-05-15 10:30:24,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:24,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 28 states. [2019-05-15 10:30:24,919 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 28 states. [2019-05-15 10:30:24,919 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 28 states. [2019-05-15 10:30:24,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:24,919 INFO L93 Difference]: Finished difference Result 34 states and 64 transitions. [2019-05-15 10:30:24,920 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 64 transitions. [2019-05-15 10:30:24,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:24,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:24,920 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 34 states. [2019-05-15 10:30:24,920 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 34 states. [2019-05-15 10:30:24,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:24,921 INFO L93 Difference]: Finished difference Result 34 states and 64 transitions. [2019-05-15 10:30:24,921 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 64 transitions. [2019-05-15 10:30:24,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:24,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:24,921 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:24,921 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:24,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:30:24,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 60 transitions. [2019-05-15 10:30:24,922 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 60 transitions. Word has length 14 [2019-05-15 10:30:24,922 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:24,922 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 60 transitions. [2019-05-15 10:30:24,922 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:30:24,922 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 60 transitions. [2019-05-15 10:30:24,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:24,922 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:24,922 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:24,922 INFO L418 AbstractCegarLoop]: === Iteration 35 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:24,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:24,923 INFO L82 PathProgramCache]: Analyzing trace with hash -1121233190, now seen corresponding path program 7 times [2019-05-15 10:30:24,923 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:24,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:24,929 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:30:24,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:24,940 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:25,002 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:30:25,003 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,013 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,013 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,013 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:25,016 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,016 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_199|]. (and (= (store |v_#memory_int_199| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:25,017 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:25,046 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,047 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:25,048 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,057 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,057 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,058 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:25,092 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,093 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,094 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,095 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:25,097 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,107 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,107 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,107 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:25,148 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,149 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,150 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,151 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:25,154 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,166 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,166 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,167 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:25,183 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,183 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_202|]. (let ((.cse0 (select |v_#memory_int_202| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store |v_#memory_int_202| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:25,183 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:25,224 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,226 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,227 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,228 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:25,231 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,243 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,244 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:25,244 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:25,256 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,257 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_203|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_203| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_203| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_203| ULTIMATE.start_main_p1) 0) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:25,257 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:25,296 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,297 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,298 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,299 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:25,302 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,313 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,314 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:25,314 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:25,320 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,320 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_204|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_204| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_204| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_204| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_204| ULTIMATE.start_main_p2) 2)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:25,320 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:25,363 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,364 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,365 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,366 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:25,369 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,380 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,381 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:25,381 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:25,387 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,388 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_205|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_205| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_205| ULTIMATE.start_main_p2) 2)) (= 1 (select |v_#memory_int_205| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_205| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:30:25,388 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:25,411 INFO L273 TraceCheckUtils]: 0: Hoare triple {6489#true} havoc main_p1, main_p2, main_p3; {6489#true} is VALID [2019-05-15 10:30:25,411 INFO L273 TraceCheckUtils]: 1: Hoare triple {6489#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {6489#true} is VALID [2019-05-15 10:30:25,411 INFO L273 TraceCheckUtils]: 2: Hoare triple {6489#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {6489#true} is VALID [2019-05-15 10:30:25,411 INFO L273 TraceCheckUtils]: 3: Hoare triple {6489#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {6489#true} is VALID [2019-05-15 10:30:25,412 INFO L273 TraceCheckUtils]: 4: Hoare triple {6489#true} assume main_p1 < main_p2; {6506#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:25,413 INFO L273 TraceCheckUtils]: 5: Hoare triple {6506#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {6510#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:25,414 INFO L273 TraceCheckUtils]: 6: Hoare triple {6510#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {6514#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:25,414 INFO L273 TraceCheckUtils]: 7: Hoare triple {6514#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {6518#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:25,415 INFO L273 TraceCheckUtils]: 8: Hoare triple {6518#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {6522#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:25,416 INFO L273 TraceCheckUtils]: 9: Hoare triple {6522#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6526#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:25,418 INFO L273 TraceCheckUtils]: 10: Hoare triple {6526#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6530#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:25,420 INFO L273 TraceCheckUtils]: 11: Hoare triple {6530#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {6534#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:25,422 INFO L273 TraceCheckUtils]: 12: Hoare triple {6534#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6538#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:25,423 INFO L273 TraceCheckUtils]: 13: Hoare triple {6538#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {6490#false} is VALID [2019-05-15 10:30:25,424 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:25,425 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:25,425 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:30:25,425 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:25,425 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:25,425 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:30:25,446 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:25,446 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:30:25,446 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:30:25,446 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:30:25,447 INFO L87 Difference]: Start difference. First operand 28 states and 60 transitions. Second operand 11 states. [2019-05-15 10:30:26,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:26,308 INFO L93 Difference]: Finished difference Result 43 states and 74 transitions. [2019-05-15 10:30:26,308 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:30:26,308 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:26,308 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:26,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:26,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:30:26,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:26,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:30:26,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:30:26,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:26,395 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:30:26,396 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:30:26,396 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=49, Invalid=133, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:30:26,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:30:26,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 27. [2019-05-15 10:30:26,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:26,398 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 27 states. [2019-05-15 10:30:26,398 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 27 states. [2019-05-15 10:30:26,398 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 27 states. [2019-05-15 10:30:26,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:26,399 INFO L93 Difference]: Finished difference Result 43 states and 74 transitions. [2019-05-15 10:30:26,399 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 74 transitions. [2019-05-15 10:30:26,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:26,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:26,400 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 43 states. [2019-05-15 10:30:26,400 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 43 states. [2019-05-15 10:30:26,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:26,401 INFO L93 Difference]: Finished difference Result 43 states and 74 transitions. [2019-05-15 10:30:26,401 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 74 transitions. [2019-05-15 10:30:26,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:26,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:26,401 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:26,401 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:26,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:26,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:30:26,402 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 14 [2019-05-15 10:30:26,402 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:26,402 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:30:26,402 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:30:26,403 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:30:26,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:26,403 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:26,403 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:26,403 INFO L418 AbstractCegarLoop]: === Iteration 36 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:26,403 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:26,404 INFO L82 PathProgramCache]: Analyzing trace with hash -1121238832, now seen corresponding path program 10 times [2019-05-15 10:30:26,404 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:26,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:26,409 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:30:26,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:26,414 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:26,448 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:30:26,448 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,455 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:26,455 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,455 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:26,459 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:26,459 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_206|]. (and (= (store |v_#memory_int_206| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:26,459 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:26,486 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,487 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:26,488 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,498 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:26,498 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,498 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:26,535 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,537 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,538 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,539 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:26,541 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,552 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:26,553 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:26,553 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:26,558 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:26,558 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_208|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_208| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_208| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_208| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:26,558 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:26,596 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,598 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,599 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,600 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:26,602 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,613 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:26,614 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:26,614 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:26,619 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:26,620 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_209|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_209| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_209| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_209| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_209| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:26,620 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:26,661 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,662 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,664 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,665 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:26,669 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,683 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:26,684 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:26,684 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:26,691 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:26,691 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_210|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_210| ULTIMATE.start_main_p2))) (and (= (+ .cse0 1) 0) (= (select |v_#memory_int_210| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_210| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_210| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-05-15 10:30:26,691 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:26,733 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,734 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,736 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,737 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:26,739 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,751 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:26,752 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:26,752 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:26,761 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:26,762 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_211|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_211| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_211| ULTIMATE.start_main_p2) 2)) (= 0 .cse0) (= (select |v_#memory_int_211| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_211| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-05-15 10:30:26,762 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:26,820 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,821 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,823 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:26,824 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:26,826 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:26,839 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:26,842 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:26,842 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:26,848 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:26,848 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_212|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_212| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_212| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_212| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_212| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (+ .cse0 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:26,848 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:30:26,871 INFO L273 TraceCheckUtils]: 0: Hoare triple {6703#true} havoc main_p1, main_p2, main_p3; {6703#true} is VALID [2019-05-15 10:30:26,871 INFO L273 TraceCheckUtils]: 1: Hoare triple {6703#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {6703#true} is VALID [2019-05-15 10:30:26,872 INFO L273 TraceCheckUtils]: 2: Hoare triple {6703#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {6703#true} is VALID [2019-05-15 10:30:26,872 INFO L273 TraceCheckUtils]: 3: Hoare triple {6703#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {6703#true} is VALID [2019-05-15 10:30:26,873 INFO L273 TraceCheckUtils]: 4: Hoare triple {6703#true} assume main_p1 < main_p2; {6720#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:26,873 INFO L273 TraceCheckUtils]: 5: Hoare triple {6720#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {6724#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:26,874 INFO L273 TraceCheckUtils]: 6: Hoare triple {6724#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {6728#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:26,876 INFO L273 TraceCheckUtils]: 7: Hoare triple {6728#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {6732#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:26,877 INFO L273 TraceCheckUtils]: 8: Hoare triple {6732#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {6736#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:26,879 INFO L273 TraceCheckUtils]: 9: Hoare triple {6736#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6740#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:26,881 INFO L273 TraceCheckUtils]: 10: Hoare triple {6740#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6744#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:26,883 INFO L273 TraceCheckUtils]: 11: Hoare triple {6744#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6748#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:26,885 INFO L273 TraceCheckUtils]: 12: Hoare triple {6748#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6752#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:26,886 INFO L273 TraceCheckUtils]: 13: Hoare triple {6752#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {6704#false} is VALID [2019-05-15 10:30:26,887 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:26,888 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:26,888 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:30:26,888 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:26,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:26,889 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:30:26,911 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:26,911 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:30:26,911 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:30:26,911 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:30:26,911 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 11 states. [2019-05-15 10:30:27,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:27,959 INFO L93 Difference]: Finished difference Result 43 states and 74 transitions. [2019-05-15 10:30:27,959 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:30:27,959 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:27,960 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:27,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:27,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:30:27,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:27,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:30:27,961 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:30:28,057 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:28,058 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:30:28,058 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:30:28,059 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:30:28,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:30:28,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 28. [2019-05-15 10:30:28,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:28,061 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 28 states. [2019-05-15 10:30:28,061 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 28 states. [2019-05-15 10:30:28,061 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 28 states. [2019-05-15 10:30:28,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:28,062 INFO L93 Difference]: Finished difference Result 43 states and 74 transitions. [2019-05-15 10:30:28,062 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 74 transitions. [2019-05-15 10:30:28,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:28,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:28,063 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 43 states. [2019-05-15 10:30:28,063 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 43 states. [2019-05-15 10:30:28,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:28,064 INFO L93 Difference]: Finished difference Result 43 states and 74 transitions. [2019-05-15 10:30:28,064 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 74 transitions. [2019-05-15 10:30:28,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:28,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:28,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:28,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:28,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:30:28,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 60 transitions. [2019-05-15 10:30:28,065 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 60 transitions. Word has length 14 [2019-05-15 10:30:28,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:28,066 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 60 transitions. [2019-05-15 10:30:28,066 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:30:28,066 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 60 transitions. [2019-05-15 10:30:28,066 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:28,066 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:28,066 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:28,067 INFO L418 AbstractCegarLoop]: === Iteration 37 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:28,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:28,067 INFO L82 PathProgramCache]: Analyzing trace with hash -1121238770, now seen corresponding path program 8 times [2019-05-15 10:30:28,068 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:28,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:28,074 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:30:28,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:28,083 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:28,124 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:30:28,124 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,132 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:28,133 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,133 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:28,136 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:28,137 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_213|]. (and (= (store |v_#memory_int_213| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:28,137 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:28,162 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,163 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:28,164 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,174 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:28,175 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,175 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:28,207 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,208 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,209 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,210 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:28,212 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,224 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:28,224 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,225 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:28,268 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,290 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,291 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,292 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:28,294 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,307 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:28,307 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,307 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:28,319 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:28,319 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_216|]. (let ((.cse0 (select |v_#memory_int_216| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_216| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (store |v_#memory_int_216| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_216| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:28,319 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:28,359 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,360 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,362 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:28,362 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:28,365 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:28,377 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:28,378 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:28,378 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:40,454 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:40,454 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_217|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_217| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_217| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_217| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_217| ULTIMATE.start_main_p3) 0) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:40,455 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:40,507 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:40,508 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:40,509 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:40,510 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:40,512 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:40,525 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:40,525 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:40,526 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:40,530 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:40,530 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_218|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_218| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_218| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_218| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:30:40,530 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:40,569 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:40,570 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:40,571 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:40,572 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:40,575 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:40,587 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:40,588 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:40,588 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:41,146 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:41,146 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_219|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_219| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= 0 (+ (select |v_#memory_int_219| ULTIMATE.start_main_p2) 2)) (= (store |v_#memory_int_219| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_219| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:41,146 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:41,173 INFO L273 TraceCheckUtils]: 0: Hoare triple {6922#true} havoc main_p1, main_p2, main_p3; {6922#true} is VALID [2019-05-15 10:30:41,173 INFO L273 TraceCheckUtils]: 1: Hoare triple {6922#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {6922#true} is VALID [2019-05-15 10:30:41,173 INFO L273 TraceCheckUtils]: 2: Hoare triple {6922#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {6922#true} is VALID [2019-05-15 10:30:41,174 INFO L273 TraceCheckUtils]: 3: Hoare triple {6922#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {6922#true} is VALID [2019-05-15 10:30:41,174 INFO L273 TraceCheckUtils]: 4: Hoare triple {6922#true} assume main_p1 < main_p2; {6939#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:41,175 INFO L273 TraceCheckUtils]: 5: Hoare triple {6939#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {6943#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:41,176 INFO L273 TraceCheckUtils]: 6: Hoare triple {6943#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {6947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:41,177 INFO L273 TraceCheckUtils]: 7: Hoare triple {6947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {6951#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:41,179 INFO L273 TraceCheckUtils]: 8: Hoare triple {6951#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {6955#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:41,180 INFO L273 TraceCheckUtils]: 9: Hoare triple {6955#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6959#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:41,182 INFO L273 TraceCheckUtils]: 10: Hoare triple {6959#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6963#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:30:41,185 INFO L273 TraceCheckUtils]: 11: Hoare triple {6963#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6967#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:41,187 INFO L273 TraceCheckUtils]: 12: Hoare triple {6967#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {6971#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:41,189 INFO L273 TraceCheckUtils]: 13: Hoare triple {6971#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {6923#false} is VALID [2019-05-15 10:30:41,190 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:41,190 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:41,191 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:30:41,191 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:41,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:41,192 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:30:41,212 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:41,212 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:30:41,213 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:30:41,213 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:30:41,213 INFO L87 Difference]: Start difference. First operand 28 states and 60 transitions. Second operand 11 states. [2019-05-15 10:30:42,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:42,074 INFO L93 Difference]: Finished difference Result 42 states and 73 transitions. [2019-05-15 10:30:42,074 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:30:42,074 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:42,074 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:42,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:42,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:30:42,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:42,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:30:42,076 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:30:42,165 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:42,166 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:30:42,166 INFO L226 Difference]: Without dead ends: 40 [2019-05-15 10:30:42,167 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:30:42,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2019-05-15 10:30:42,169 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 28. [2019-05-15 10:30:42,169 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:42,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 28 states. [2019-05-15 10:30:42,169 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 28 states. [2019-05-15 10:30:42,169 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 28 states. [2019-05-15 10:30:42,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:42,170 INFO L93 Difference]: Finished difference Result 40 states and 71 transitions. [2019-05-15 10:30:42,170 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 71 transitions. [2019-05-15 10:30:42,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:42,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:42,171 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 40 states. [2019-05-15 10:30:42,171 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 40 states. [2019-05-15 10:30:42,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:42,172 INFO L93 Difference]: Finished difference Result 40 states and 71 transitions. [2019-05-15 10:30:42,172 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 71 transitions. [2019-05-15 10:30:42,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:42,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:42,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:42,173 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:42,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:30:42,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:30:42,174 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:30:42,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:42,174 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:30:42,174 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:30:42,174 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:30:42,174 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:42,174 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:42,175 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:42,175 INFO L418 AbstractCegarLoop]: === Iteration 38 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:42,175 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:42,175 INFO L82 PathProgramCache]: Analyzing trace with hash -1121238956, now seen corresponding path program 11 times [2019-05-15 10:30:42,176 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:42,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:42,181 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:30:42,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:42,197 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:42,255 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:30:42,255 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,264 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:42,265 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,265 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:42,269 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:42,269 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_220|]. (and (= |#memory_int| (store |v_#memory_int_220| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,269 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,301 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,302 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:42,304 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,317 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:42,317 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,317 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:42,355 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,356 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,358 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,359 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:42,361 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,372 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:42,373 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:42,374 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:42,378 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:42,378 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_222|, ULTIMATE.start_main_p3]. (and (= |#memory_int| (store |v_#memory_int_222| ULTIMATE.start_main_p3 0)) (= (select |v_#memory_int_222| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_222| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,378 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,425 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,427 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,428 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,429 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:42,432 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,446 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:42,446 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:42,447 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:42,451 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:42,451 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_223|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_223| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_223| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_223| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_223| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:42,452 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,498 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,500 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,501 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,504 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:42,509 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,521 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:42,522 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:42,522 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:42,529 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:42,529 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_224|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_224| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_224| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_224| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_224| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:42,529 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,583 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,584 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,586 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,587 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:42,612 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,635 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:42,636 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:42,637 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:42,641 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:42,642 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_225|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_225| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_225| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_225| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_225| ULTIMATE.start_main_p2) 2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:42,642 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,698 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,699 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,701 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:42,702 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:42,705 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:42,718 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:42,718 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:42,718 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:30:42,725 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:42,726 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_226|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_226| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_226| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_226| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 1) (= (+ (select |v_#memory_int_226| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:42,726 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:42,751 INFO L273 TraceCheckUtils]: 0: Hoare triple {7130#true} havoc main_p1, main_p2, main_p3; {7130#true} is VALID [2019-05-15 10:30:42,752 INFO L273 TraceCheckUtils]: 1: Hoare triple {7130#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {7130#true} is VALID [2019-05-15 10:30:42,752 INFO L273 TraceCheckUtils]: 2: Hoare triple {7130#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {7130#true} is VALID [2019-05-15 10:30:42,753 INFO L273 TraceCheckUtils]: 3: Hoare triple {7130#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {7130#true} is VALID [2019-05-15 10:30:42,753 INFO L273 TraceCheckUtils]: 4: Hoare triple {7130#true} assume main_p1 < main_p2; {7147#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:42,754 INFO L273 TraceCheckUtils]: 5: Hoare triple {7147#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {7151#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:42,755 INFO L273 TraceCheckUtils]: 6: Hoare triple {7151#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {7155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:42,756 INFO L273 TraceCheckUtils]: 7: Hoare triple {7155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {7159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:42,756 INFO L273 TraceCheckUtils]: 8: Hoare triple {7159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {7163#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:42,758 INFO L273 TraceCheckUtils]: 9: Hoare triple {7163#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7167#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:42,760 INFO L273 TraceCheckUtils]: 10: Hoare triple {7167#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7171#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:42,763 INFO L273 TraceCheckUtils]: 11: Hoare triple {7171#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7175#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:42,765 INFO L273 TraceCheckUtils]: 12: Hoare triple {7175#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7179#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:42,766 INFO L273 TraceCheckUtils]: 13: Hoare triple {7179#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {7131#false} is VALID [2019-05-15 10:30:42,767 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:42,767 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:42,767 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:30:42,767 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:42,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:42,768 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:30:42,788 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:42,789 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:30:42,789 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:30:42,789 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:30:42,790 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:30:43,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:43,898 INFO L93 Difference]: Finished difference Result 40 states and 71 transitions. [2019-05-15 10:30:43,899 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:30:43,899 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:30:43,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:43,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:43,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:30:43,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:30:43,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:30:43,900 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:30:43,984 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:43,985 INFO L225 Difference]: With dead ends: 40 [2019-05-15 10:30:43,985 INFO L226 Difference]: Without dead ends: 40 [2019-05-15 10:30:43,986 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:30:43,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2019-05-15 10:30:43,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 27. [2019-05-15 10:30:43,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:43,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 27 states. [2019-05-15 10:30:43,987 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 27 states. [2019-05-15 10:30:43,987 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 27 states. [2019-05-15 10:30:43,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:43,988 INFO L93 Difference]: Finished difference Result 40 states and 71 transitions. [2019-05-15 10:30:43,988 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 71 transitions. [2019-05-15 10:30:43,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:43,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:43,988 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 40 states. [2019-05-15 10:30:43,988 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 40 states. [2019-05-15 10:30:43,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:43,989 INFO L93 Difference]: Finished difference Result 40 states and 71 transitions. [2019-05-15 10:30:43,989 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 71 transitions. [2019-05-15 10:30:43,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:43,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:43,989 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:43,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:43,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:30:43,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:30:43,990 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 14 [2019-05-15 10:30:43,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:43,990 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:30:43,990 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:30:43,990 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:30:43,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:43,991 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:43,991 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:43,991 INFO L418 AbstractCegarLoop]: === Iteration 39 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:43,991 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:43,991 INFO L82 PathProgramCache]: Analyzing trace with hash -1121175218, now seen corresponding path program 4 times [2019-05-15 10:30:43,992 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:43,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:43,997 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:30:44,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:44,032 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:44,226 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:30:44,226 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:44,231 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:44,231 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:44,232 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:30:44,235 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:44,235 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_227|]. (and (= |#memory_int| (store |v_#memory_int_227| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:44,235 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:44,256 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:44,257 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:44,258 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:44,265 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:44,266 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:44,266 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:30:44,295 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:44,296 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 21 treesize of output 19 [2019-05-15 10:30:44,298 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:44,306 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:44,307 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:44,307 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:30:44,321 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:44,321 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_229|]. (let ((.cse0 (select |v_#memory_int_229| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_229| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (= 0 (select |v_#memory_int_229| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:44,322 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:44,350 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:44,351 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 23 treesize of output 21 [2019-05-15 10:30:44,359 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:44,367 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:44,367 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:44,368 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:30:56,856 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:56,856 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_230|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_230| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_230| ULTIMATE.start_main_p2) 1) 0) (= |#memory_int| (store |v_#memory_int_230| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:56,856 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:30:56,979 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:56,980 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 23 treesize of output 21 [2019-05-15 10:30:56,982 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:56,990 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:56,991 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:56,991 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:30:56,995 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:56,995 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_231|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_231| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_231| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_231| ULTIMATE.start_main_p3) 1) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:30:56,995 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:30:57,016 INFO L273 TraceCheckUtils]: 0: Hoare triple {7339#true} havoc main_p1, main_p2, main_p3; {7339#true} is VALID [2019-05-15 10:30:57,017 INFO L273 TraceCheckUtils]: 1: Hoare triple {7339#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {7339#true} is VALID [2019-05-15 10:30:57,017 INFO L273 TraceCheckUtils]: 2: Hoare triple {7339#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {7339#true} is VALID [2019-05-15 10:30:57,017 INFO L273 TraceCheckUtils]: 3: Hoare triple {7339#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {7339#true} is VALID [2019-05-15 10:30:57,017 INFO L273 TraceCheckUtils]: 4: Hoare triple {7339#true} assume main_p1 < main_p2; {7339#true} is VALID [2019-05-15 10:30:57,018 INFO L273 TraceCheckUtils]: 5: Hoare triple {7339#true} assume main_p2 < main_p3; {7359#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:30:57,018 INFO L273 TraceCheckUtils]: 6: Hoare triple {7359#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {7359#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:30:57,019 INFO L273 TraceCheckUtils]: 7: Hoare triple {7359#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {7366#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:57,020 INFO L273 TraceCheckUtils]: 8: Hoare triple {7366#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {7370#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:57,020 INFO L273 TraceCheckUtils]: 9: Hoare triple {7370#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7374#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:30:57,022 INFO L273 TraceCheckUtils]: 10: Hoare triple {7374#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7378#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:30:57,023 INFO L273 TraceCheckUtils]: 11: Hoare triple {7378#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7382#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:30:57,024 INFO L273 TraceCheckUtils]: 12: Hoare triple {7382#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {7382#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:30:57,025 INFO L273 TraceCheckUtils]: 13: Hoare triple {7382#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {7340#false} is VALID [2019-05-15 10:30:57,026 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:30:57,026 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:57,026 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:30:57,027 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:30:57,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:57,027 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:30:57,070 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:57,071 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:30:57,071 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:30:57,071 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:30:57,071 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 8 states. [2019-05-15 10:30:57,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:57,545 INFO L93 Difference]: Finished difference Result 38 states and 70 transitions. [2019-05-15 10:30:57,545 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:30:57,545 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:30:57,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:57,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:30:57,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:30:57,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:30:57,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:30:57,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 42 transitions. [2019-05-15 10:30:57,602 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:57,603 INFO L225 Difference]: With dead ends: 38 [2019-05-15 10:30:57,603 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:30:57,603 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:30:57,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:30:57,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 29. [2019-05-15 10:30:57,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:57,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 29 states. [2019-05-15 10:30:57,606 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 29 states. [2019-05-15 10:30:57,606 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 29 states. [2019-05-15 10:30:57,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:57,607 INFO L93 Difference]: Finished difference Result 38 states and 70 transitions. [2019-05-15 10:30:57,607 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 70 transitions. [2019-05-15 10:30:57,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:57,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:57,608 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 38 states. [2019-05-15 10:30:57,608 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 38 states. [2019-05-15 10:30:57,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:57,608 INFO L93 Difference]: Finished difference Result 38 states and 70 transitions. [2019-05-15 10:30:57,609 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 70 transitions. [2019-05-15 10:30:57,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:57,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:57,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:57,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:57,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:30:57,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 64 transitions. [2019-05-15 10:30:57,610 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 64 transitions. Word has length 14 [2019-05-15 10:30:57,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:57,610 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 64 transitions. [2019-05-15 10:30:57,610 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:30:57,610 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 64 transitions. [2019-05-15 10:30:57,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:30:57,610 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:57,611 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:57,611 INFO L418 AbstractCegarLoop]: === Iteration 40 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:57,611 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:57,611 INFO L82 PathProgramCache]: Analyzing trace with hash -1121175530, now seen corresponding path program 9 times [2019-05-15 10:30:57,612 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:57,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:57,618 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:30:57,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:57,643 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:57,721 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:30:57,721 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,729 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:57,730 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,730 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:30:57,732 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:57,733 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_232|]. (and (= (store |v_#memory_int_232| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:57,733 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:57,759 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,760 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:30:57,761 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,771 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:57,771 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,771 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:30:57,806 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,808 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,809 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,810 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:30:57,812 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,824 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:57,824 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,825 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:30:57,864 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,866 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,867 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,868 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:30:57,870 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,883 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:57,883 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,884 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:30:57,895 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:57,895 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_235|]. (let ((.cse0 (select |v_#memory_int_235| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_235| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_235| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= 0 (select |v_#memory_int_235| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:57,895 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:57,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,943 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,945 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:57,946 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:30:57,973 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:57,984 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:57,984 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:57,985 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:10,047 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:10,048 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_236|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_236| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_236| ULTIMATE.start_main_p1) 0) (= (+ (select |v_#memory_int_236| ULTIMATE.start_main_p2) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_236| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:31:10,048 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:10,161 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:10,162 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:10,163 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:10,164 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:10,175 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:10,185 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:10,186 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:10,186 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:11,909 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:11,909 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_237|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_237| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_237| ULTIMATE.start_main_p3)) (= 0 (+ .cse0 1)) (= 0 (select |v_#memory_int_237| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_237| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:11,909 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:11,960 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:11,962 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:11,963 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:11,965 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:11,967 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:11,979 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:11,980 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:11,980 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:11,986 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:11,987 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_238|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_238| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_238| ULTIMATE.start_main_p2) 2)) (= 0 .cse0) (= (store |v_#memory_int_238| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_238| ULTIMATE.start_main_p3)))) [2019-05-15 10:31:11,987 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:12,010 INFO L273 TraceCheckUtils]: 0: Hoare triple {7535#true} havoc main_p1, main_p2, main_p3; {7535#true} is VALID [2019-05-15 10:31:12,010 INFO L273 TraceCheckUtils]: 1: Hoare triple {7535#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {7535#true} is VALID [2019-05-15 10:31:12,010 INFO L273 TraceCheckUtils]: 2: Hoare triple {7535#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {7535#true} is VALID [2019-05-15 10:31:12,011 INFO L273 TraceCheckUtils]: 3: Hoare triple {7535#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {7535#true} is VALID [2019-05-15 10:31:12,011 INFO L273 TraceCheckUtils]: 4: Hoare triple {7535#true} assume main_p1 < main_p2; {7552#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:31:12,012 INFO L273 TraceCheckUtils]: 5: Hoare triple {7552#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {7556#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:12,013 INFO L273 TraceCheckUtils]: 6: Hoare triple {7556#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {7560#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:12,013 INFO L273 TraceCheckUtils]: 7: Hoare triple {7560#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {7564#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:12,014 INFO L273 TraceCheckUtils]: 8: Hoare triple {7564#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {7568#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:12,015 INFO L273 TraceCheckUtils]: 9: Hoare triple {7568#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7572#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:12,031 INFO L273 TraceCheckUtils]: 10: Hoare triple {7572#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7576#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:31:12,033 INFO L273 TraceCheckUtils]: 11: Hoare triple {7576#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7580#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:31:12,035 INFO L273 TraceCheckUtils]: 12: Hoare triple {7580#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7584#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:31:12,036 INFO L273 TraceCheckUtils]: 13: Hoare triple {7584#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {7536#false} is VALID [2019-05-15 10:31:12,037 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:31:12,038 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:31:12,038 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:31:12,038 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:31:12,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:31:12,038 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:31:12,060 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:12,061 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:31:12,061 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:31:12,061 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:31:12,061 INFO L87 Difference]: Start difference. First operand 29 states and 64 transitions. Second operand 11 states. [2019-05-15 10:31:13,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:13,138 INFO L93 Difference]: Finished difference Result 47 states and 80 transitions. [2019-05-15 10:31:13,138 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:31:13,139 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:31:13,139 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:31:13,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:31:13,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:31:13,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:31:13,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:31:13,140 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2019-05-15 10:31:13,232 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:13,233 INFO L225 Difference]: With dead ends: 47 [2019-05-15 10:31:13,233 INFO L226 Difference]: Without dead ends: 47 [2019-05-15 10:31:13,233 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:31:13,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2019-05-15 10:31:13,234 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 28. [2019-05-15 10:31:13,235 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:31:13,235 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 28 states. [2019-05-15 10:31:13,235 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 28 states. [2019-05-15 10:31:13,235 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 28 states. [2019-05-15 10:31:13,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:13,236 INFO L93 Difference]: Finished difference Result 47 states and 80 transitions. [2019-05-15 10:31:13,236 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 80 transitions. [2019-05-15 10:31:13,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:13,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:13,237 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 47 states. [2019-05-15 10:31:13,237 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 47 states. [2019-05-15 10:31:13,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:13,238 INFO L93 Difference]: Finished difference Result 47 states and 80 transitions. [2019-05-15 10:31:13,238 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 80 transitions. [2019-05-15 10:31:13,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:13,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:13,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:31:13,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:31:13,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:31:13,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 60 transitions. [2019-05-15 10:31:13,239 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 60 transitions. Word has length 14 [2019-05-15 10:31:13,239 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:31:13,240 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 60 transitions. [2019-05-15 10:31:13,240 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:31:13,240 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 60 transitions. [2019-05-15 10:31:13,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:31:13,240 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:31:13,240 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:31:13,241 INFO L418 AbstractCegarLoop]: === Iteration 41 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:31:13,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:31:13,241 INFO L82 PathProgramCache]: Analyzing trace with hash -1121173296, now seen corresponding path program 5 times [2019-05-15 10:31:13,242 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:31:13,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:13,247 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:31:13,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:13,256 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:31:13,273 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:31:13,273 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,278 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:13,278 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,278 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:31:13,282 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:13,282 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_239|]. (and (= (store |v_#memory_int_239| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:31:13,282 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:31:13,302 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:13,303 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:31:13,320 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,335 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:13,336 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,336 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:31:13,364 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:13,365 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 21 treesize of output 19 [2019-05-15 10:31:13,367 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,374 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:13,375 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,375 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:31:13,388 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:13,389 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_241|]. (let ((.cse0 (select |v_#memory_int_241| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_241| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-05-15 10:31:13,389 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:31:13,416 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:13,418 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 23 treesize of output 21 [2019-05-15 10:31:13,447 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,553 WARN L188 SmtUtils]: Spent 105.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2019-05-15 10:31:13,554 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:13,554 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,554 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:16 [2019-05-15 10:31:13,570 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:13,570 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_242|]. (let ((.cse0 (select |v_#memory_int_242| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= 0 (+ (select |v_#memory_int_242| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_242| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:31:13,571 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:13,651 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:13,652 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 23 treesize of output 21 [2019-05-15 10:31:13,654 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:13,661 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:13,661 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:13,661 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:31:25,990 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:25,991 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_243|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_243| ULTIMATE.start_main_p3))) (and (= .cse0 1) (= (store |v_#memory_int_243| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_243| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:31:25,991 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:26,071 INFO L273 TraceCheckUtils]: 0: Hoare triple {7762#true} havoc main_p1, main_p2, main_p3; {7762#true} is VALID [2019-05-15 10:31:26,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {7762#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {7762#true} is VALID [2019-05-15 10:31:26,072 INFO L273 TraceCheckUtils]: 2: Hoare triple {7762#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {7762#true} is VALID [2019-05-15 10:31:26,072 INFO L273 TraceCheckUtils]: 3: Hoare triple {7762#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {7762#true} is VALID [2019-05-15 10:31:26,072 INFO L273 TraceCheckUtils]: 4: Hoare triple {7762#true} assume main_p1 < main_p2; {7762#true} is VALID [2019-05-15 10:31:26,077 INFO L273 TraceCheckUtils]: 5: Hoare triple {7762#true} assume main_p2 < main_p3; {7782#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:31:26,077 INFO L273 TraceCheckUtils]: 6: Hoare triple {7782#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {7782#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:31:26,079 INFO L273 TraceCheckUtils]: 7: Hoare triple {7782#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {7789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:31:26,080 INFO L273 TraceCheckUtils]: 8: Hoare triple {7789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {7793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:31:26,081 INFO L273 TraceCheckUtils]: 9: Hoare triple {7793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7797#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:31:26,083 INFO L273 TraceCheckUtils]: 10: Hoare triple {7797#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7801#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:31:26,085 INFO L273 TraceCheckUtils]: 11: Hoare triple {7801#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7805#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:31:26,086 INFO L273 TraceCheckUtils]: 12: Hoare triple {7805#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {7805#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:31:26,087 INFO L273 TraceCheckUtils]: 13: Hoare triple {7805#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {7763#false} is VALID [2019-05-15 10:31:26,088 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:31:26,088 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:31:26,088 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:31:26,089 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:31:26,089 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:31:26,089 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:31:26,116 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:26,116 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:31:26,117 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:31:26,117 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:31:26,117 INFO L87 Difference]: Start difference. First operand 28 states and 60 transitions. Second operand 8 states. [2019-05-15 10:31:26,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:26,744 INFO L93 Difference]: Finished difference Result 37 states and 69 transitions. [2019-05-15 10:31:26,744 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:31:26,744 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:31:26,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:31:26,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:31:26,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:31:26,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:31:26,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:31:26,746 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 42 transitions. [2019-05-15 10:31:26,815 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:26,816 INFO L225 Difference]: With dead ends: 37 [2019-05-15 10:31:26,816 INFO L226 Difference]: Without dead ends: 35 [2019-05-15 10:31:26,816 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:31:26,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2019-05-15 10:31:26,818 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 29. [2019-05-15 10:31:26,818 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:31:26,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 29 states. [2019-05-15 10:31:26,818 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 29 states. [2019-05-15 10:31:26,818 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 29 states. [2019-05-15 10:31:26,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:26,819 INFO L93 Difference]: Finished difference Result 35 states and 67 transitions. [2019-05-15 10:31:26,819 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 67 transitions. [2019-05-15 10:31:26,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:26,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:26,820 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 35 states. [2019-05-15 10:31:26,820 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 35 states. [2019-05-15 10:31:26,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:26,821 INFO L93 Difference]: Finished difference Result 35 states and 67 transitions. [2019-05-15 10:31:26,821 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 67 transitions. [2019-05-15 10:31:26,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:26,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:26,822 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:31:26,822 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:31:26,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:31:26,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:31:26,823 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:31:26,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:31:26,823 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:31:26,823 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:31:26,823 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:31:26,824 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:31:26,824 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:31:26,824 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:31:26,824 INFO L418 AbstractCegarLoop]: === Iteration 42 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:31:26,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:31:26,824 INFO L82 PathProgramCache]: Analyzing trace with hash -1121173608, now seen corresponding path program 10 times [2019-05-15 10:31:26,825 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:31:26,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:26,831 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:31:26,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:26,854 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:31:26,900 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:31:26,900 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:26,909 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:26,910 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:26,910 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:31:26,913 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:26,913 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_244|]. (and (= (store |v_#memory_int_244| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:26,914 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:26,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:26,941 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:31:26,943 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:26,953 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:26,953 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:26,954 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:31:26,990 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:26,991 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:26,993 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:26,994 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:31:27,013 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:27,169 WARN L188 SmtUtils]: Spent 154.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2019-05-15 10:31:27,169 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:27,170 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:27,170 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:31:27,320 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,321 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,323 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,328 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:31:27,344 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:27,357 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:27,358 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:27,358 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:31:27,380 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:27,381 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_247|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_247| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_247| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_247| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_247| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:27,381 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:27,423 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,425 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,426 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,427 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:27,429 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:27,443 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:27,446 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:27,446 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:27,451 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:27,451 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_248|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_248| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_248| ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store |v_#memory_int_248| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_248| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:27,452 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:27,494 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,495 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,497 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,498 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:27,501 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:27,514 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:27,517 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:27,517 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:27,523 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:27,523 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_249|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_249| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_249| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 1 .cse0) (= 0 (select |v_#memory_int_249| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_249| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:27,523 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:27,574 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,576 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,578 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:27,579 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:27,582 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:27,596 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:27,599 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:27,600 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:27,606 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:27,607 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_250|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_250| ULTIMATE.start_main_p1))) (and (= 2 (select |v_#memory_int_250| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_250| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |v_#memory_int_250| ULTIMATE.start_main_p2) 1)))) [2019-05-15 10:31:27,607 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:27,634 INFO L273 TraceCheckUtils]: 0: Hoare triple {7949#true} havoc main_p1, main_p2, main_p3; {7949#true} is VALID [2019-05-15 10:31:27,634 INFO L273 TraceCheckUtils]: 1: Hoare triple {7949#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {7949#true} is VALID [2019-05-15 10:31:27,634 INFO L273 TraceCheckUtils]: 2: Hoare triple {7949#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {7949#true} is VALID [2019-05-15 10:31:27,635 INFO L273 TraceCheckUtils]: 3: Hoare triple {7949#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {7949#true} is VALID [2019-05-15 10:31:27,635 INFO L273 TraceCheckUtils]: 4: Hoare triple {7949#true} assume main_p1 < main_p2; {7966#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:31:27,636 INFO L273 TraceCheckUtils]: 5: Hoare triple {7966#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {7970#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:27,637 INFO L273 TraceCheckUtils]: 6: Hoare triple {7970#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {7974#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:27,637 INFO L273 TraceCheckUtils]: 7: Hoare triple {7974#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {7978#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:27,638 INFO L273 TraceCheckUtils]: 8: Hoare triple {7978#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {7982#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:27,640 INFO L273 TraceCheckUtils]: 9: Hoare triple {7982#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7986#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:31:27,642 INFO L273 TraceCheckUtils]: 10: Hoare triple {7986#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7990#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:31:27,645 INFO L273 TraceCheckUtils]: 11: Hoare triple {7990#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7994#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:31:27,647 INFO L273 TraceCheckUtils]: 12: Hoare triple {7994#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:31:27,648 INFO L273 TraceCheckUtils]: 13: Hoare triple {7998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {7950#false} is VALID [2019-05-15 10:31:27,649 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:31:27,650 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:31:27,650 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:31:27,650 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:31:27,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:31:27,651 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:31:27,678 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:27,678 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:31:27,679 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:31:27,679 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:31:27,679 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:31:28,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:28,752 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:31:28,752 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:31:28,752 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:31:28,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:31:28,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:31:28,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:31:28,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:31:28,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:31:28,754 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:31:28,844 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:28,845 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:31:28,845 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:31:28,846 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:31:28,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:31:28,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 28. [2019-05-15 10:31:28,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:31:28,847 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 28 states. [2019-05-15 10:31:28,847 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 28 states. [2019-05-15 10:31:28,848 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 28 states. [2019-05-15 10:31:28,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:28,849 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:31:28,849 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:31:28,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:28,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:28,849 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 44 states. [2019-05-15 10:31:28,849 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 44 states. [2019-05-15 10:31:28,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:28,850 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:31:28,850 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:31:28,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:28,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:28,850 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:31:28,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:31:28,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:31:28,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:31:28,851 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:31:28,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:31:28,851 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:31:28,851 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:31:28,852 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:31:28,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:31:28,852 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:31:28,852 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:31:28,852 INFO L418 AbstractCegarLoop]: === Iteration 43 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:31:28,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:31:28,853 INFO L82 PathProgramCache]: Analyzing trace with hash -1121179250, now seen corresponding path program 11 times [2019-05-15 10:31:28,853 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:31:28,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:28,859 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:31:28,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:28,865 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:31:28,901 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:31:28,901 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:28,909 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:28,910 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:28,910 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:31:28,913 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:28,913 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_251|]. (and (= (store |v_#memory_int_251| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:28,914 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:28,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:28,941 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:31:28,942 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:28,952 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:28,953 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:28,953 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:31:28,987 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:28,989 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:28,990 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:28,991 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:31:28,992 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:29,005 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:29,006 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:29,006 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:31:29,054 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:29,055 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:29,057 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:29,058 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:31:29,060 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:29,073 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:29,074 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:29,074 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:31:29,093 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:29,094 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_254|]. (let ((.cse0 (select |v_#memory_int_254| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_254| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_254| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_254| ULTIMATE.start_main_p1) 0))) [2019-05-15 10:31:29,094 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:29,136 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:29,137 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:29,139 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:29,140 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:29,142 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:29,156 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:29,156 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:29,157 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:41,316 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:41,317 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_255|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_255| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_255| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_255| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_255| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:41,317 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:41,452 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:41,454 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:41,456 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:41,457 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:41,459 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:41,474 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:41,475 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:41,475 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:41,489 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:41,490 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_256|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_256| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= (select |v_#memory_int_256| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |v_#memory_int_256| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_256| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:41,490 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:41,566 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:41,570 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:41,573 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:41,574 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:41,582 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:41,597 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:41,598 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:41,598 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:42,796 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:42,796 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_257|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_257| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_257| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_257| ULTIMATE.start_main_p3) 1) (= 0 (+ .cse0 1)) (= (select |v_#memory_int_257| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:42,797 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:42,822 INFO L273 TraceCheckUtils]: 0: Hoare triple {8169#true} havoc main_p1, main_p2, main_p3; {8169#true} is VALID [2019-05-15 10:31:42,822 INFO L273 TraceCheckUtils]: 1: Hoare triple {8169#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {8169#true} is VALID [2019-05-15 10:31:42,823 INFO L273 TraceCheckUtils]: 2: Hoare triple {8169#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {8169#true} is VALID [2019-05-15 10:31:42,823 INFO L273 TraceCheckUtils]: 3: Hoare triple {8169#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {8169#true} is VALID [2019-05-15 10:31:42,824 INFO L273 TraceCheckUtils]: 4: Hoare triple {8169#true} assume main_p1 < main_p2; {8186#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:31:42,824 INFO L273 TraceCheckUtils]: 5: Hoare triple {8186#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {8190#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:42,825 INFO L273 TraceCheckUtils]: 6: Hoare triple {8190#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {8194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:42,827 INFO L273 TraceCheckUtils]: 7: Hoare triple {8194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {8198#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:42,828 INFO L273 TraceCheckUtils]: 8: Hoare triple {8198#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {8202#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:42,838 INFO L273 TraceCheckUtils]: 9: Hoare triple {8202#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8206#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:31:42,839 INFO L273 TraceCheckUtils]: 10: Hoare triple {8206#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8210#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:31:42,841 INFO L273 TraceCheckUtils]: 11: Hoare triple {8210#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:31:42,843 INFO L273 TraceCheckUtils]: 12: Hoare triple {8214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:31:42,845 INFO L273 TraceCheckUtils]: 13: Hoare triple {8218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {8170#false} is VALID [2019-05-15 10:31:42,846 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:31:42,846 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:31:42,846 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:31:42,846 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:31:42,847 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:31:42,847 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:31:42,870 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:42,870 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:31:42,870 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:31:42,871 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:31:42,871 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:31:43,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:43,752 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:31:43,752 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:31:43,752 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:31:43,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:31:43,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:31:43,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:31:43,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:31:43,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:31:43,754 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:31:43,844 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:31:43,845 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:31:43,845 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:31:43,845 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:31:43,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:31:43,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 29. [2019-05-15 10:31:43,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:31:43,847 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 29 states. [2019-05-15 10:31:43,847 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 29 states. [2019-05-15 10:31:43,847 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 29 states. [2019-05-15 10:31:43,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:43,848 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:31:43,848 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:31:43,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:43,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:43,849 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 44 states. [2019-05-15 10:31:43,849 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 44 states. [2019-05-15 10:31:43,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:31:43,850 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:31:43,850 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:31:43,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:31:43,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:31:43,850 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:31:43,850 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:31:43,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:31:43,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:31:43,851 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:31:43,852 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:31:43,852 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:31:43,852 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:31:43,852 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:31:43,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:31:43,852 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:31:43,852 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:31:43,853 INFO L418 AbstractCegarLoop]: === Iteration 44 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:31:43,853 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:31:43,853 INFO L82 PathProgramCache]: Analyzing trace with hash -1121179188, now seen corresponding path program 12 times [2019-05-15 10:31:43,854 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:31:43,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:43,860 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:31:43,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:31:43,876 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:31:43,916 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:31:43,916 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:43,924 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:43,924 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:43,925 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:31:43,928 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:43,928 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_258|]. (and (= |#memory_int| (store |v_#memory_int_258| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:43,928 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:43,957 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:43,958 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:31:43,959 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:43,970 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:43,971 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:43,971 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:31:44,010 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:44,012 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:44,024 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:44,024 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:31:44,026 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:44,038 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:44,038 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:31:44,038 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:31:44,085 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:44,086 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:44,088 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:44,089 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:31:44,119 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:44,131 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:44,132 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:44,132 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:31:58,103 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:58,104 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_261|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_261| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (store |v_#memory_int_261| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_261| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_261| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:58,104 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:31:58,206 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,207 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,209 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,210 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:58,212 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:58,225 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:58,228 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:58,228 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:58,232 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:58,232 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_262|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_262| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_262| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_262| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_262| ULTIMATE.start_main_p2) 1)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:58,232 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:58,272 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,273 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,275 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,276 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:58,278 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:58,290 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:58,293 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:58,294 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:31:58,299 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:31:58,299 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_263|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_263| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_263| ULTIMATE.start_main_p3) 1) (= (store |v_#memory_int_263| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (+ (select |v_#memory_int_263| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:31:58,300 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:31:58,410 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,411 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,413 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:31:58,414 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:31:58,416 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:31:58,443 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:31:58,446 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:31:58,447 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:12,238 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:12,238 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_264|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_264| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_264| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_264| ULTIMATE.start_main_p1) 1) (= 1 .cse0) (= (store |v_#memory_int_264| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:12,238 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:12,420 INFO L273 TraceCheckUtils]: 0: Hoare triple {8388#true} havoc main_p1, main_p2, main_p3; {8388#true} is VALID [2019-05-15 10:32:12,420 INFO L273 TraceCheckUtils]: 1: Hoare triple {8388#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {8388#true} is VALID [2019-05-15 10:32:12,420 INFO L273 TraceCheckUtils]: 2: Hoare triple {8388#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {8388#true} is VALID [2019-05-15 10:32:12,420 INFO L273 TraceCheckUtils]: 3: Hoare triple {8388#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {8388#true} is VALID [2019-05-15 10:32:12,421 INFO L273 TraceCheckUtils]: 4: Hoare triple {8388#true} assume main_p1 < main_p2; {8405#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:12,422 INFO L273 TraceCheckUtils]: 5: Hoare triple {8405#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {8409#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:12,422 INFO L273 TraceCheckUtils]: 6: Hoare triple {8409#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {8413#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:12,424 INFO L273 TraceCheckUtils]: 7: Hoare triple {8413#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {8417#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:12,425 INFO L273 TraceCheckUtils]: 8: Hoare triple {8417#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {8421#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:12,426 INFO L273 TraceCheckUtils]: 9: Hoare triple {8421#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8425#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:32:12,429 INFO L273 TraceCheckUtils]: 10: Hoare triple {8425#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8429#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:32:12,431 INFO L273 TraceCheckUtils]: 11: Hoare triple {8429#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8433#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:32:12,434 INFO L273 TraceCheckUtils]: 12: Hoare triple {8433#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8437#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:32:12,436 INFO L273 TraceCheckUtils]: 13: Hoare triple {8437#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {8389#false} is VALID [2019-05-15 10:32:12,437 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:12,437 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:12,437 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:12,438 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:12,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:12,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:12,462 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:12,463 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:12,463 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:12,463 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:12,464 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:32:13,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:13,466 INFO L93 Difference]: Finished difference Result 43 states and 76 transitions. [2019-05-15 10:32:13,466 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:13,466 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:13,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:13,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:13,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:32:13,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:13,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:32:13,468 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:32:13,553 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:13,554 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:32:13,554 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:32:13,554 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:32:13,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:32:13,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 29. [2019-05-15 10:32:13,556 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:13,556 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:13,556 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:13,556 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:13,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:13,556 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:13,557 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:13,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:13,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:13,557 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 41 states. [2019-05-15 10:32:13,557 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 41 states. [2019-05-15 10:32:13,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:13,558 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:13,558 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:13,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:13,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:13,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:13,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:13,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:32:13,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:32:13,559 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:32:13,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:13,559 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:32:13,559 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:13,559 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:32:13,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:13,559 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:13,559 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:13,560 INFO L418 AbstractCegarLoop]: === Iteration 45 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:13,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:13,560 INFO L82 PathProgramCache]: Analyzing trace with hash -1121179374, now seen corresponding path program 13 times [2019-05-15 10:32:13,560 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:13,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:13,565 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:13,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:13,583 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:13,656 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:32:13,657 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,664 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:13,664 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,665 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:13,668 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:13,669 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_265|]. (and (= |#memory_int| (store |v_#memory_int_265| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:13,669 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:13,693 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,694 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:13,695 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,705 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:13,706 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,706 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:13,741 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,742 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,743 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,744 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:13,746 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,758 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:13,759 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,759 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:13,801 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,803 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,804 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,805 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:13,807 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,820 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:13,821 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:13,821 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:13,893 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:13,894 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_268|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_268| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_268| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_268| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_268| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:13,894 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:13,932 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,934 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,935 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:13,936 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:13,938 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:13,951 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:13,957 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:13,957 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:25,977 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:25,978 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_269|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_269| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_269| ULTIMATE.start_main_p2) 1) 0) (= .cse0 0) (= (store |v_#memory_int_269| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_269| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:25,978 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:26,045 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:26,047 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:26,048 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:26,050 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:26,057 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:26,080 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:26,082 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:26,082 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:26,087 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:26,088 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_270|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_270| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_270| ULTIMATE.start_main_p3) 1) (= |#memory_int| (store |v_#memory_int_270| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (+ (select |v_#memory_int_270| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:32:26,088 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:26,128 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:26,130 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:26,131 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:26,132 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:26,135 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:26,149 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:26,152 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:26,152 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:26,158 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:26,158 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_271|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_271| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_271| ULTIMATE.start_main_p3) 1) (= |#memory_int| (store |v_#memory_int_271| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_271| ULTIMATE.start_main_p2) 1)) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:26,158 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:26,184 INFO L273 TraceCheckUtils]: 0: Hoare triple {8602#true} havoc main_p1, main_p2, main_p3; {8602#true} is VALID [2019-05-15 10:32:26,184 INFO L273 TraceCheckUtils]: 1: Hoare triple {8602#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {8602#true} is VALID [2019-05-15 10:32:26,184 INFO L273 TraceCheckUtils]: 2: Hoare triple {8602#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {8602#true} is VALID [2019-05-15 10:32:26,185 INFO L273 TraceCheckUtils]: 3: Hoare triple {8602#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {8602#true} is VALID [2019-05-15 10:32:26,185 INFO L273 TraceCheckUtils]: 4: Hoare triple {8602#true} assume main_p1 < main_p2; {8619#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:26,186 INFO L273 TraceCheckUtils]: 5: Hoare triple {8619#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {8623#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:26,187 INFO L273 TraceCheckUtils]: 6: Hoare triple {8623#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {8627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:26,188 INFO L273 TraceCheckUtils]: 7: Hoare triple {8627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {8631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:26,190 INFO L273 TraceCheckUtils]: 8: Hoare triple {8631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {8635#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:26,192 INFO L273 TraceCheckUtils]: 9: Hoare triple {8635#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8639#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:32:26,194 INFO L273 TraceCheckUtils]: 10: Hoare triple {8639#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:32:26,196 INFO L273 TraceCheckUtils]: 11: Hoare triple {8643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:32:26,199 INFO L273 TraceCheckUtils]: 12: Hoare triple {8647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:32:26,200 INFO L273 TraceCheckUtils]: 13: Hoare triple {8651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {8603#false} is VALID [2019-05-15 10:32:26,201 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:26,202 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:26,202 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:26,202 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:26,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:26,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:26,229 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:26,230 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:26,230 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:26,230 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:26,230 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:32:27,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:27,201 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:27,201 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:27,201 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:27,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:27,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:27,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:32:27,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:27,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:32:27,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:32:27,288 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:27,289 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:32:27,289 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:32:27,289 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:32:27,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:32:27,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 27. [2019-05-15 10:32:27,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:27,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 27 states. [2019-05-15 10:32:27,291 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 27 states. [2019-05-15 10:32:27,291 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 27 states. [2019-05-15 10:32:27,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:27,292 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:27,293 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:27,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:27,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:27,293 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 41 states. [2019-05-15 10:32:27,293 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 41 states. [2019-05-15 10:32:27,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:27,294 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:27,294 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:27,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:27,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:27,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:27,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:27,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:32:27,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:32:27,295 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 14 [2019-05-15 10:32:27,295 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:27,296 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:32:27,296 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:27,296 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:32:27,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:27,296 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:27,296 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:27,296 INFO L418 AbstractCegarLoop]: === Iteration 46 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:27,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:27,296 INFO L82 PathProgramCache]: Analyzing trace with hash -1121354152, now seen corresponding path program 12 times [2019-05-15 10:32:27,297 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:27,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:27,302 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:27,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:27,309 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:27,345 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:32:27,345 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,354 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:27,355 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,355 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:27,358 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:27,359 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_272|]. (and (= (store |v_#memory_int_272| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:27,359 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:27,391 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,392 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:27,393 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,402 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:27,403 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,403 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:27,499 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,501 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,503 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,504 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:27,509 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,525 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:27,526 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:27,526 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:27,531 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:27,531 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_274|, ULTIMATE.start_main_p3]. (and (= |#memory_int| (store |v_#memory_int_274| ULTIMATE.start_main_p3 0)) (= (select |v_#memory_int_274| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_274| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:27,531 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:27,591 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,593 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,595 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,598 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:27,602 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,616 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:27,616 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:27,616 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:27,620 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:27,620 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_275|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_275| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= (select |v_#memory_int_275| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_275| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_275| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-05-15 10:32:27,620 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:27,693 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,695 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,697 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,698 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:27,701 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,718 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:27,718 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:27,719 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:27,729 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:27,729 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_276|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_276| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_276| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_276| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_276| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:27,729 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:27,798 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,799 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,801 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,802 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:27,805 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,818 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:27,819 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:27,819 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:27,824 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:27,825 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_277|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_277| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_277| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_277| ULTIMATE.start_main_p1)) (= 0 (+ .cse0 1)) (= 0 (select |v_#memory_int_277| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:27,825 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:27,868 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,870 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,871 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:27,872 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:27,874 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:27,885 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:27,886 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:27,886 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:29,372 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:29,373 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_278|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_278| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 2)) (= |#memory_int| (store |v_#memory_int_278| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_278| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_278| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:29,373 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:29,401 INFO L273 TraceCheckUtils]: 0: Hoare triple {8812#true} havoc main_p1, main_p2, main_p3; {8812#true} is VALID [2019-05-15 10:32:29,402 INFO L273 TraceCheckUtils]: 1: Hoare triple {8812#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {8812#true} is VALID [2019-05-15 10:32:29,402 INFO L273 TraceCheckUtils]: 2: Hoare triple {8812#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {8812#true} is VALID [2019-05-15 10:32:29,402 INFO L273 TraceCheckUtils]: 3: Hoare triple {8812#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {8812#true} is VALID [2019-05-15 10:32:29,403 INFO L273 TraceCheckUtils]: 4: Hoare triple {8812#true} assume main_p1 < main_p2; {8829#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:29,403 INFO L273 TraceCheckUtils]: 5: Hoare triple {8829#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {8833#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:29,404 INFO L273 TraceCheckUtils]: 6: Hoare triple {8833#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {8837#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:29,405 INFO L273 TraceCheckUtils]: 7: Hoare triple {8837#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {8841#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:29,406 INFO L273 TraceCheckUtils]: 8: Hoare triple {8841#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {8845#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:29,407 INFO L273 TraceCheckUtils]: 9: Hoare triple {8845#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8849#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:29,409 INFO L273 TraceCheckUtils]: 10: Hoare triple {8849#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8853#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:32:29,411 INFO L273 TraceCheckUtils]: 11: Hoare triple {8853#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8857#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:29,413 INFO L273 TraceCheckUtils]: 12: Hoare triple {8857#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:32:29,414 INFO L273 TraceCheckUtils]: 13: Hoare triple {8861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {8813#false} is VALID [2019-05-15 10:32:29,416 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:29,416 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:29,416 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:29,416 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:29,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:29,417 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:29,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:29,441 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:29,441 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:29,441 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:29,441 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 11 states. [2019-05-15 10:32:30,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:30,611 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:30,611 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:30,611 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:30,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:30,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:30,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:32:30,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:30,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:32:30,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:32:30,702 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:30,703 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:32:30,703 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:32:30,704 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:32:30,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:32:30,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 29. [2019-05-15 10:32:30,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:30,705 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:30,705 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:30,705 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:30,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:30,706 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:30,706 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:32:30,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:30,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:30,707 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 44 states. [2019-05-15 10:32:30,707 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 44 states. [2019-05-15 10:32:30,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:30,707 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:30,707 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:32:30,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:30,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:30,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:30,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:30,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:32:30,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:32:30,709 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:32:30,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:30,709 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:32:30,709 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:30,709 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:32:30,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:30,709 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:30,709 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:30,709 INFO L418 AbstractCegarLoop]: === Iteration 47 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:30,710 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:30,710 INFO L82 PathProgramCache]: Analyzing trace with hash -1121354090, now seen corresponding path program 14 times [2019-05-15 10:32:30,710 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:30,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:30,715 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:30,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:30,720 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:30,749 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:32:30,749 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,758 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:30,759 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,759 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:30,763 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:30,763 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_279|]. (and (= (store |v_#memory_int_279| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:30,763 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:30,791 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,793 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:30,794 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,804 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:30,805 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,805 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:30,841 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,843 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,844 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,845 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:30,847 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,860 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:30,860 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,861 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:30,906 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,908 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,909 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,910 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:30,913 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,925 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:30,926 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:30,926 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:30,942 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:30,942 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_282|]. (let ((.cse0 (select |v_#memory_int_282| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_282| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_282| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_282| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:30,943 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:30,985 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,987 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,988 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:30,989 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:30,992 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:31,005 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:31,005 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:31,006 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:31,019 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:31,019 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_283|]. (let ((.cse0 (select |v_#memory_int_283| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_283| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_283| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_283| ULTIMATE.start_main_p3)))) [2019-05-15 10:32:31,019 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:31,061 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:31,063 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:31,065 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:31,068 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:31,071 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:31,083 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:31,084 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:31,084 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:31,108 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:31,108 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_284|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_284| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_284| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_284| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ .cse0 1)) (= 1 (select |v_#memory_int_284| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:31,108 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:31,150 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:31,151 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:31,153 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:31,154 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:31,156 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:31,168 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:31,169 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:31,170 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:31,268 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:31,268 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_285|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_285| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_285| ULTIMATE.start_main_p2) 2)) (= (select |v_#memory_int_285| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_285| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:32:31,268 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:31,294 INFO L273 TraceCheckUtils]: 0: Hoare triple {9035#true} havoc main_p1, main_p2, main_p3; {9035#true} is VALID [2019-05-15 10:32:31,295 INFO L273 TraceCheckUtils]: 1: Hoare triple {9035#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {9035#true} is VALID [2019-05-15 10:32:31,295 INFO L273 TraceCheckUtils]: 2: Hoare triple {9035#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {9035#true} is VALID [2019-05-15 10:32:31,295 INFO L273 TraceCheckUtils]: 3: Hoare triple {9035#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {9035#true} is VALID [2019-05-15 10:32:31,296 INFO L273 TraceCheckUtils]: 4: Hoare triple {9035#true} assume main_p1 < main_p2; {9052#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:31,297 INFO L273 TraceCheckUtils]: 5: Hoare triple {9052#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {9056#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:31,297 INFO L273 TraceCheckUtils]: 6: Hoare triple {9056#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {9060#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:31,298 INFO L273 TraceCheckUtils]: 7: Hoare triple {9060#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {9064#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:31,299 INFO L273 TraceCheckUtils]: 8: Hoare triple {9064#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {9068#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:31,300 INFO L273 TraceCheckUtils]: 9: Hoare triple {9068#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9072#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:31,301 INFO L273 TraceCheckUtils]: 10: Hoare triple {9072#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9076#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:32:31,303 INFO L273 TraceCheckUtils]: 11: Hoare triple {9076#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:32:31,305 INFO L273 TraceCheckUtils]: 12: Hoare triple {9080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9084#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:32:31,307 INFO L273 TraceCheckUtils]: 13: Hoare triple {9084#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {9036#false} is VALID [2019-05-15 10:32:31,308 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:31,308 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:31,308 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:31,309 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:31,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:31,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:31,331 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:31,331 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:31,331 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:31,331 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:31,332 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:32:32,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:32,195 INFO L93 Difference]: Finished difference Result 43 states and 76 transitions. [2019-05-15 10:32:32,196 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:32,196 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:32,196 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:32,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:32,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:32:32,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:32,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:32:32,197 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:32:32,574 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:32,575 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:32:32,575 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:32:32,576 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:32:32,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:32:32,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 29. [2019-05-15 10:32:32,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:32,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:32,578 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:32,578 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:32,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:32,580 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:32,580 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:32,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:32,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:32,581 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 41 states. [2019-05-15 10:32:32,581 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 41 states. [2019-05-15 10:32:32,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:32,582 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:32,582 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:32,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:32,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:32,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:32,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:32,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:32:32,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:32:32,585 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:32:32,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:32,585 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:32:32,585 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:32,585 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:32:32,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:32,586 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:32,586 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:32,586 INFO L418 AbstractCegarLoop]: === Iteration 48 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:32,587 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:32,587 INFO L82 PathProgramCache]: Analyzing trace with hash -1121354276, now seen corresponding path program 13 times [2019-05-15 10:32:32,588 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:32,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:32,596 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:32,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:32,623 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:32,846 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:32:32,846 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:32,854 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:32,855 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:32,855 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:32,858 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:32,858 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_286|]. (and (= (store |v_#memory_int_286| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:32,858 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:32,881 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:32,882 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:32,883 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:32,892 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:32,892 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:32,893 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:32,926 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:32,928 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:32,929 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:32,930 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:32,931 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:32,943 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:32,944 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:32,944 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:32,948 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:32,949 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_288|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_288| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_288| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_288| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:32,949 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:32,988 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:32,990 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:32,991 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:32,992 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:32,994 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:33,004 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:33,005 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:33,005 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:33,009 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:33,009 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_289|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_289| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_289| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_289| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_289| ULTIMATE.start_main_p3) 0))) [2019-05-15 10:32:33,009 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:33,050 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,052 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,053 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,055 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:33,057 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:33,068 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:33,069 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:33,069 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:33,084 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:33,084 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_290|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_290| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_290| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_290| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_290| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:33,084 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:33,123 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,125 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,126 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,127 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:33,130 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:33,142 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:33,143 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:33,143 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:33,149 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:33,149 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_291|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_291| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_291| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_291| ULTIMATE.start_main_p3) 0) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_291| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:33,149 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:33,184 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,186 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,187 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:33,188 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:33,190 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:33,201 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:33,202 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:33,202 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:33,209 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:33,210 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_292|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_292| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_292| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_292| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_292| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 1))) [2019-05-15 10:32:33,210 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:33,232 INFO L273 TraceCheckUtils]: 0: Hoare triple {9245#true} havoc main_p1, main_p2, main_p3; {9245#true} is VALID [2019-05-15 10:32:33,232 INFO L273 TraceCheckUtils]: 1: Hoare triple {9245#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {9245#true} is VALID [2019-05-15 10:32:33,233 INFO L273 TraceCheckUtils]: 2: Hoare triple {9245#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {9245#true} is VALID [2019-05-15 10:32:33,233 INFO L273 TraceCheckUtils]: 3: Hoare triple {9245#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {9245#true} is VALID [2019-05-15 10:32:33,233 INFO L273 TraceCheckUtils]: 4: Hoare triple {9245#true} assume main_p1 < main_p2; {9262#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:33,234 INFO L273 TraceCheckUtils]: 5: Hoare triple {9262#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {9266#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:33,235 INFO L273 TraceCheckUtils]: 6: Hoare triple {9266#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {9270#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:33,236 INFO L273 TraceCheckUtils]: 7: Hoare triple {9270#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {9274#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:33,238 INFO L273 TraceCheckUtils]: 8: Hoare triple {9274#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {9278#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:33,239 INFO L273 TraceCheckUtils]: 9: Hoare triple {9278#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9282#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:33,241 INFO L273 TraceCheckUtils]: 10: Hoare triple {9282#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9286#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:32:33,243 INFO L273 TraceCheckUtils]: 11: Hoare triple {9286#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9290#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:32:33,245 INFO L273 TraceCheckUtils]: 12: Hoare triple {9290#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9294#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:32:33,246 INFO L273 TraceCheckUtils]: 13: Hoare triple {9294#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {9246#false} is VALID [2019-05-15 10:32:33,247 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:33,247 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:33,247 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:33,247 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:33,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:33,248 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:33,267 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:33,267 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:33,267 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:33,267 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:33,268 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:32:34,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:34,531 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:34,531 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:34,531 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:34,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:34,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:34,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:32:34,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:34,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:32:34,533 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:32:34,614 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:34,615 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:32:34,615 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:32:34,615 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:32:34,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:32:34,616 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 28. [2019-05-15 10:32:34,616 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:34,617 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 28 states. [2019-05-15 10:32:34,617 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 28 states. [2019-05-15 10:32:34,617 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 28 states. [2019-05-15 10:32:34,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:34,618 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:34,618 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:34,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:34,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:34,619 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 41 states. [2019-05-15 10:32:34,619 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 41 states. [2019-05-15 10:32:34,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:34,619 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:34,620 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:34,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:34,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:34,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:34,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:34,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:32:34,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:32:34,621 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:32:34,621 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:34,621 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:32:34,621 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:34,621 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:32:34,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:34,622 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:34,622 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:34,622 INFO L418 AbstractCegarLoop]: === Iteration 49 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:34,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:34,622 INFO L82 PathProgramCache]: Analyzing trace with hash -1121352230, now seen corresponding path program 15 times [2019-05-15 10:32:34,623 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:34,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:34,628 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:34,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:34,634 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:34,665 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:32:34,665 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,717 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:34,717 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,717 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:34,720 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:34,720 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_293|]. (and (= (store |v_#memory_int_293| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:34,720 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:34,748 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,749 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:34,750 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,760 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:34,761 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,761 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:34,800 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,801 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,803 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,804 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:34,805 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,817 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:34,817 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,817 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:34,862 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,863 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,864 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,865 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:34,868 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,881 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:34,882 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,882 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:34,899 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:34,899 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_296|]. (let ((.cse0 (select |v_#memory_int_296| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_296| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_296| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_296| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:34,899 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:34,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,943 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:34,944 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:34,946 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,959 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:34,960 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:34,960 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:34,975 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:34,975 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_297|]. (let ((.cse0 (select |v_#memory_int_297| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_297| ULTIMATE.start_main_p3)) (= .cse0 0) (= (store |v_#memory_int_297| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_297| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:34,975 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:35,017 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:35,018 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:35,020 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:35,020 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:35,023 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:35,036 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:35,037 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:35,037 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:36,085 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:36,085 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_298|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_298| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_298| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= (+ (select |v_#memory_int_298| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_298| ULTIMATE.start_main_p1)))) [2019-05-15 10:32:36,085 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:36,139 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:36,140 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:36,141 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:36,142 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:36,145 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:36,157 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:36,158 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:36,158 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:36,166 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:36,166 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_299|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_299| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_299| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_299| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_299| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:36,167 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:36,189 INFO L273 TraceCheckUtils]: 0: Hoare triple {9458#true} havoc main_p1, main_p2, main_p3; {9458#true} is VALID [2019-05-15 10:32:36,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {9458#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {9458#true} is VALID [2019-05-15 10:32:36,190 INFO L273 TraceCheckUtils]: 2: Hoare triple {9458#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {9458#true} is VALID [2019-05-15 10:32:36,190 INFO L273 TraceCheckUtils]: 3: Hoare triple {9458#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {9458#true} is VALID [2019-05-15 10:32:36,191 INFO L273 TraceCheckUtils]: 4: Hoare triple {9458#true} assume main_p1 < main_p2; {9475#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:36,192 INFO L273 TraceCheckUtils]: 5: Hoare triple {9475#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {9479#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:36,192 INFO L273 TraceCheckUtils]: 6: Hoare triple {9479#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {9483#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:36,193 INFO L273 TraceCheckUtils]: 7: Hoare triple {9483#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {9487#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:36,194 INFO L273 TraceCheckUtils]: 8: Hoare triple {9487#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {9491#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:36,195 INFO L273 TraceCheckUtils]: 9: Hoare triple {9491#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9495#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:36,196 INFO L273 TraceCheckUtils]: 10: Hoare triple {9495#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9499#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:32:36,197 INFO L273 TraceCheckUtils]: 11: Hoare triple {9499#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9503#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:32:36,199 INFO L273 TraceCheckUtils]: 12: Hoare triple {9503#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9507#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:32:36,200 INFO L273 TraceCheckUtils]: 13: Hoare triple {9507#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {9459#false} is VALID [2019-05-15 10:32:36,201 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:36,202 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:36,202 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:36,202 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:36,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:36,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:36,222 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:36,223 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:36,223 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:36,223 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:36,223 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:32:37,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:37,175 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:37,175 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:37,175 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:37,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:37,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:37,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:32:37,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:37,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:32:37,177 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:32:37,257 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:37,258 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:32:37,258 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:32:37,258 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:32:37,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:32:37,259 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 29. [2019-05-15 10:32:37,259 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:37,259 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:37,259 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:37,260 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:37,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:37,260 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:37,260 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:32:37,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:37,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:37,261 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 44 states. [2019-05-15 10:32:37,261 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 44 states. [2019-05-15 10:32:37,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:37,261 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:37,261 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:32:37,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:37,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:37,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:37,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:37,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:32:37,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:32:37,263 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:32:37,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:37,263 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:32:37,263 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:37,263 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:32:37,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:37,263 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:37,263 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:37,264 INFO L418 AbstractCegarLoop]: === Iteration 50 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:37,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:37,264 INFO L82 PathProgramCache]: Analyzing trace with hash -1121352168, now seen corresponding path program 16 times [2019-05-15 10:32:37,265 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:37,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:37,269 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:37,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:37,301 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:37,334 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:32:37,335 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,343 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:37,343 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,343 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:37,346 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:37,347 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_300|]. (and (= (store |v_#memory_int_300| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:37,347 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:37,373 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,374 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:37,375 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,384 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:37,385 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,385 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:37,418 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,420 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,421 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,422 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:37,423 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,434 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:37,435 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,435 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:37,477 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,479 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,480 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,482 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:37,484 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,496 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:37,496 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:37,496 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:37,534 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:37,534 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_303|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_303| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_303| ULTIMATE.start_main_p3)) (= .cse0 0) (= 0 (select |v_#memory_int_303| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_303| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:37,534 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:37,577 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,578 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,579 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,580 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:37,583 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,595 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:37,598 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:37,598 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:37,603 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:37,603 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_304|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_304| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_304| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_304| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_304| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:32:37,603 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:37,641 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,642 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,643 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,644 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:37,647 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,659 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:37,662 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:37,662 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:37,668 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:37,668 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_305|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_305| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_305| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (+ (select |v_#memory_int_305| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_305| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:37,668 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:37,725 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,727 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,729 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:37,730 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:37,736 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:37,747 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:37,751 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:37,751 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:37,756 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:37,757 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_306|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_306| ULTIMATE.start_main_p3))) (and (= .cse0 1) (= (+ (select |v_#memory_int_306| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_306| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_306| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:32:37,757 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:37,786 INFO L273 TraceCheckUtils]: 0: Hoare triple {9675#true} havoc main_p1, main_p2, main_p3; {9675#true} is VALID [2019-05-15 10:32:37,787 INFO L273 TraceCheckUtils]: 1: Hoare triple {9675#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {9675#true} is VALID [2019-05-15 10:32:37,787 INFO L273 TraceCheckUtils]: 2: Hoare triple {9675#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {9675#true} is VALID [2019-05-15 10:32:37,787 INFO L273 TraceCheckUtils]: 3: Hoare triple {9675#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {9675#true} is VALID [2019-05-15 10:32:37,787 INFO L273 TraceCheckUtils]: 4: Hoare triple {9675#true} assume main_p1 < main_p2; {9692#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:37,788 INFO L273 TraceCheckUtils]: 5: Hoare triple {9692#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {9696#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:37,789 INFO L273 TraceCheckUtils]: 6: Hoare triple {9696#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {9700#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:37,790 INFO L273 TraceCheckUtils]: 7: Hoare triple {9700#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {9704#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:37,792 INFO L273 TraceCheckUtils]: 8: Hoare triple {9704#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {9708#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:37,794 INFO L273 TraceCheckUtils]: 9: Hoare triple {9708#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9712#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:32:37,795 INFO L273 TraceCheckUtils]: 10: Hoare triple {9712#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9716#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:32:37,797 INFO L273 TraceCheckUtils]: 11: Hoare triple {9716#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9720#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:32:37,799 INFO L273 TraceCheckUtils]: 12: Hoare triple {9720#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9724#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:32:37,800 INFO L273 TraceCheckUtils]: 13: Hoare triple {9724#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {9676#false} is VALID [2019-05-15 10:32:37,801 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:37,802 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:37,802 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:37,802 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:37,802 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:37,802 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:37,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:37,826 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:37,826 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:37,827 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:37,827 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:32:38,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:38,769 INFO L93 Difference]: Finished difference Result 43 states and 76 transitions. [2019-05-15 10:32:38,769 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:38,769 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:38,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:38,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:38,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:32:38,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:38,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:32:38,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:32:38,858 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:38,859 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:32:38,859 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:32:38,859 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:32:38,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:32:38,861 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 29. [2019-05-15 10:32:38,861 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:38,861 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:38,861 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:38,861 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 29 states. [2019-05-15 10:32:38,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:38,862 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:38,862 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:38,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:38,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:38,863 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 41 states. [2019-05-15 10:32:38,863 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 41 states. [2019-05-15 10:32:38,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:38,864 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:38,864 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:38,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:38,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:38,864 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:38,865 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:38,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:32:38,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:32:38,865 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:32:38,865 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:38,866 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:32:38,866 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:38,866 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:32:38,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:38,866 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:38,866 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:38,866 INFO L418 AbstractCegarLoop]: === Iteration 51 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:38,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:38,867 INFO L82 PathProgramCache]: Analyzing trace with hash -1121352354, now seen corresponding path program 17 times [2019-05-15 10:32:38,867 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:38,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:38,872 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:38,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:38,880 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:38,914 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:32:38,914 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:38,922 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:38,923 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:38,923 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:38,926 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:38,926 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_307|]. (and (= (store |v_#memory_int_307| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:38,926 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:38,953 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:38,954 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:38,955 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:38,964 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:38,964 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:38,964 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:39,001 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:39,002 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:39,003 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:39,004 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:39,006 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:39,019 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:39,019 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:39,019 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:39,065 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:39,065 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:39,066 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:39,067 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:39,069 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:39,081 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:39,082 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:39,082 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:51,190 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:51,190 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_310|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_310| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_310| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_310| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_310| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:51,190 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:51,330 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,331 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,333 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,334 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:51,336 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:51,348 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:51,351 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:51,351 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:51,356 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:51,356 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_311|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_311| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_311| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_311| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_311| ULTIMATE.start_main_p3)))) [2019-05-15 10:32:51,356 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:51,392 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,394 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,395 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,396 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:51,398 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:51,409 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:51,412 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:51,412 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:51,498 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:51,499 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_312|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_312| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_312| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_312| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_312| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:51,499 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:51,541 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,543 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,544 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:51,545 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:51,547 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:51,560 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:51,562 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:51,563 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:51,572 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:51,572 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_313|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_313| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_313| ULTIMATE.start_main_p3) 1) (= 1 .cse0) (= (store |v_#memory_int_313| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_313| ULTIMATE.start_main_p2) 1) 0))) [2019-05-15 10:32:51,572 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:51,596 INFO L273 TraceCheckUtils]: 0: Hoare triple {9889#true} havoc main_p1, main_p2, main_p3; {9889#true} is VALID [2019-05-15 10:32:51,596 INFO L273 TraceCheckUtils]: 1: Hoare triple {9889#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {9889#true} is VALID [2019-05-15 10:32:51,596 INFO L273 TraceCheckUtils]: 2: Hoare triple {9889#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {9889#true} is VALID [2019-05-15 10:32:51,597 INFO L273 TraceCheckUtils]: 3: Hoare triple {9889#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {9889#true} is VALID [2019-05-15 10:32:51,597 INFO L273 TraceCheckUtils]: 4: Hoare triple {9889#true} assume main_p1 < main_p2; {9906#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:51,598 INFO L273 TraceCheckUtils]: 5: Hoare triple {9906#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {9910#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:51,599 INFO L273 TraceCheckUtils]: 6: Hoare triple {9910#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {9914#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:51,600 INFO L273 TraceCheckUtils]: 7: Hoare triple {9914#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {9918#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:51,601 INFO L273 TraceCheckUtils]: 8: Hoare triple {9918#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {9922#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:51,603 INFO L273 TraceCheckUtils]: 9: Hoare triple {9922#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9926#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:32:51,605 INFO L273 TraceCheckUtils]: 10: Hoare triple {9926#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9930#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:32:51,623 INFO L273 TraceCheckUtils]: 11: Hoare triple {9930#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9934#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:32:51,628 INFO L273 TraceCheckUtils]: 12: Hoare triple {9934#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9938#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:32:51,629 INFO L273 TraceCheckUtils]: 13: Hoare triple {9938#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {9890#false} is VALID [2019-05-15 10:32:51,630 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:51,630 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:51,630 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:51,630 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:51,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:51,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:51,657 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:51,657 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:51,657 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:51,657 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:51,657 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:32:52,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:52,648 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:52,648 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:52,648 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:52,648 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:52,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:52,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:32:52,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:52,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:32:52,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:32:52,732 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:52,733 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:32:52,733 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:32:52,733 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:32:52,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:32:52,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 28. [2019-05-15 10:32:52,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:52,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 28 states. [2019-05-15 10:32:52,735 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 28 states. [2019-05-15 10:32:52,735 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 28 states. [2019-05-15 10:32:52,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:52,736 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:52,736 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:52,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:52,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:52,736 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 41 states. [2019-05-15 10:32:52,737 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 41 states. [2019-05-15 10:32:52,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:52,737 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:32:52,738 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:32:52,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:52,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:52,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:52,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:52,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:32:52,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:32:52,739 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:32:52,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:52,739 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:32:52,739 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:52,739 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:32:52,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:52,739 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:52,740 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:52,740 INFO L418 AbstractCegarLoop]: === Iteration 52 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:52,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:52,740 INFO L82 PathProgramCache]: Analyzing trace with hash -1121357996, now seen corresponding path program 14 times [2019-05-15 10:32:52,741 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:52,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:52,746 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:52,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:52,761 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:52,794 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:32:52,795 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:52,803 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:52,803 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:52,803 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:52,807 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:52,807 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_314|]. (and (= (store |v_#memory_int_314| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:52,807 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:52,832 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:52,833 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:52,834 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:52,843 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:52,844 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:52,844 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:52,879 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:52,880 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:52,882 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:52,882 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:52,884 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:52,896 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:52,897 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:52,897 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:52,901 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:52,901 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_316|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_316| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_316| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_316| ULTIMATE.start_main_p1))) [2019-05-15 10:32:52,901 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:52,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:52,944 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:52,945 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:52,946 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:52,948 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:52,961 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:52,962 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:52,962 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:32:52,966 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:52,966 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_317|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_317| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_317| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (= (select |v_#memory_int_317| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_317| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:52,966 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:53,006 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,008 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,009 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,010 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:53,012 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:53,026 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:53,027 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:53,027 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:53,039 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:53,039 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_318|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_318| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_318| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_318| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:53,039 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:53,110 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,112 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,114 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,116 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:53,121 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:53,134 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:53,135 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:53,135 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:53,147 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:53,147 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_319|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_319| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_319| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (= 0 (select |v_#memory_int_319| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_319| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:53,147 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:32:53,202 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,204 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,206 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:53,207 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:32:53,210 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:53,222 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:53,223 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:53,223 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:32:53,230 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:53,230 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_320|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_320| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_320| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_320| ULTIMATE.start_main_p1) 2) (= (store |v_#memory_int_320| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:32:53,230 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:53,252 INFO L273 TraceCheckUtils]: 0: Hoare triple {10100#true} havoc main_p1, main_p2, main_p3; {10100#true} is VALID [2019-05-15 10:32:53,252 INFO L273 TraceCheckUtils]: 1: Hoare triple {10100#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {10100#true} is VALID [2019-05-15 10:32:53,252 INFO L273 TraceCheckUtils]: 2: Hoare triple {10100#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {10100#true} is VALID [2019-05-15 10:32:53,253 INFO L273 TraceCheckUtils]: 3: Hoare triple {10100#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {10100#true} is VALID [2019-05-15 10:32:53,254 INFO L273 TraceCheckUtils]: 4: Hoare triple {10100#true} assume main_p1 < main_p2; {10117#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:32:53,254 INFO L273 TraceCheckUtils]: 5: Hoare triple {10117#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {10121#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:53,255 INFO L273 TraceCheckUtils]: 6: Hoare triple {10121#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {10125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:53,256 INFO L273 TraceCheckUtils]: 7: Hoare triple {10125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {10129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:53,257 INFO L273 TraceCheckUtils]: 8: Hoare triple {10129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {10133#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:53,258 INFO L273 TraceCheckUtils]: 9: Hoare triple {10133#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10137#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:32:53,260 INFO L273 TraceCheckUtils]: 10: Hoare triple {10137#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10141#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:32:53,262 INFO L273 TraceCheckUtils]: 11: Hoare triple {10141#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10145#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:32:53,264 INFO L273 TraceCheckUtils]: 12: Hoare triple {10145#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10149#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:32:53,265 INFO L273 TraceCheckUtils]: 13: Hoare triple {10149#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {10101#false} is VALID [2019-05-15 10:32:53,266 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:32:53,266 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:32:53,266 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:32:53,267 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:53,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:32:53,267 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:32:53,290 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:53,290 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:32:53,290 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:32:53,290 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:32:53,291 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:32:54,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:54,395 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:54,395 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:32:54,395 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:32:54,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:32:54,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:54,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:32:54,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:32:54,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:32:54,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:32:54,484 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:32:54,485 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:32:54,485 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:32:54,485 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:32:54,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:32:54,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 29. [2019-05-15 10:32:54,486 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:32:54,486 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:54,487 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:54,487 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 29 states. [2019-05-15 10:32:54,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:54,487 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:54,487 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:32:54,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:54,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:54,488 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 44 states. [2019-05-15 10:32:54,488 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 44 states. [2019-05-15 10:32:54,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:32:54,489 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:32:54,489 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:32:54,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:32:54,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:32:54,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:32:54,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:32:54,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:32:54,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:32:54,490 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:32:54,490 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:32:54,491 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:32:54,491 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:32:54,491 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:32:54,491 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:32:54,491 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:32:54,491 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:32:54,491 INFO L418 AbstractCegarLoop]: === Iteration 53 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:32:54,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:32:54,492 INFO L82 PathProgramCache]: Analyzing trace with hash -1121357934, now seen corresponding path program 18 times [2019-05-15 10:32:54,492 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:32:54,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:54,497 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:32:54,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:32:54,524 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:32:54,552 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:32:54,552 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:54,565 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:54,566 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:54,566 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:32:54,569 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:32:54,569 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_321|]. (and (= |#memory_int| (store |v_#memory_int_321| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:54,569 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:32:54,595 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:54,595 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:32:54,596 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:54,607 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:54,607 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:54,607 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:32:54,642 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:54,643 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:54,645 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:54,646 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:32:54,647 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:54,659 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:54,660 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:32:54,660 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:32:54,716 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:54,717 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:54,718 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:32:54,719 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:32:54,720 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:32:54,733 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:32:54,733 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:32:54,733 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:33:06,893 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:06,894 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_324|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_324| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p3)) (= .cse0 0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_324| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:06,894 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:07,028 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,030 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,031 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,033 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:07,035 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:07,047 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:07,050 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:07,051 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:07,056 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:07,057 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_325|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_325| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_325| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_325| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (+ (select |v_#memory_int_325| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:07,057 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:33:07,101 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,103 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,104 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,105 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:07,108 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:07,121 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:07,124 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:07,124 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:07,129 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:07,129 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_326|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_326| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_326| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_326| ULTIMATE.start_main_p3) 0) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |v_#memory_int_326| ULTIMATE.start_main_p2) 1)))) [2019-05-15 10:33:07,129 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:33:07,169 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,170 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,172 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:07,173 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:07,175 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:07,189 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:07,192 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:07,192 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:07,201 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:07,201 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_327|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_327| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_327| ULTIMATE.start_main_p1) 2) (= 0 (+ (select |v_#memory_int_327| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_327| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:07,201 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:33:07,227 INFO L273 TraceCheckUtils]: 0: Hoare triple {10323#true} havoc main_p1, main_p2, main_p3; {10323#true} is VALID [2019-05-15 10:33:07,227 INFO L273 TraceCheckUtils]: 1: Hoare triple {10323#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {10323#true} is VALID [2019-05-15 10:33:07,228 INFO L273 TraceCheckUtils]: 2: Hoare triple {10323#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {10323#true} is VALID [2019-05-15 10:33:07,228 INFO L273 TraceCheckUtils]: 3: Hoare triple {10323#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {10323#true} is VALID [2019-05-15 10:33:07,228 INFO L273 TraceCheckUtils]: 4: Hoare triple {10323#true} assume main_p1 < main_p2; {10340#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:33:07,229 INFO L273 TraceCheckUtils]: 5: Hoare triple {10340#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {10344#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:07,230 INFO L273 TraceCheckUtils]: 6: Hoare triple {10344#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {10348#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:07,230 INFO L273 TraceCheckUtils]: 7: Hoare triple {10348#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {10352#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:07,231 INFO L273 TraceCheckUtils]: 8: Hoare triple {10352#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {10356#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:07,233 INFO L273 TraceCheckUtils]: 9: Hoare triple {10356#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10360#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:33:07,235 INFO L273 TraceCheckUtils]: 10: Hoare triple {10360#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10364#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:33:07,238 INFO L273 TraceCheckUtils]: 11: Hoare triple {10364#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10368#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:33:07,240 INFO L273 TraceCheckUtils]: 12: Hoare triple {10368#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10372#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:33:07,241 INFO L273 TraceCheckUtils]: 13: Hoare triple {10372#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {10324#false} is VALID [2019-05-15 10:33:07,242 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:33:07,243 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:33:07,243 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:33:07,243 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:33:07,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:33:07,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:33:07,266 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:07,266 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:33:07,266 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:33:07,266 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:33:07,267 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:33:08,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:08,332 INFO L93 Difference]: Finished difference Result 43 states and 76 transitions. [2019-05-15 10:33:08,332 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:33:08,332 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:33:08,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:33:08,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:33:08,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:33:08,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:33:08,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:33:08,334 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:33:08,427 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:08,428 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:33:08,428 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:33:08,429 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:33:08,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:33:08,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 29. [2019-05-15 10:33:08,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:33:08,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 29 states. [2019-05-15 10:33:08,431 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 29 states. [2019-05-15 10:33:08,431 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 29 states. [2019-05-15 10:33:08,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:08,431 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:33:08,431 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:33:08,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:08,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:08,432 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 41 states. [2019-05-15 10:33:08,432 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 41 states. [2019-05-15 10:33:08,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:08,432 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:33:08,433 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:33:08,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:08,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:08,433 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:33:08,433 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:33:08,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:33:08,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:33:08,434 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:33:08,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:33:08,434 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:33:08,434 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:33:08,434 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:33:08,434 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:33:08,434 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:33:08,434 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:33:08,434 INFO L418 AbstractCegarLoop]: === Iteration 54 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:33:08,434 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:33:08,435 INFO L82 PathProgramCache]: Analyzing trace with hash -1121358120, now seen corresponding path program 15 times [2019-05-15 10:33:08,435 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:33:08,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:08,440 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:33:08,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:08,446 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:33:08,519 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:33:08,520 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,527 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:08,528 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,528 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:33:08,531 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:08,531 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_328|]. (and (= (store |v_#memory_int_328| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:08,532 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:08,571 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,572 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:33:08,573 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,586 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:08,586 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,586 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:33:08,628 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,629 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,631 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,632 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:33:08,634 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,651 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:08,652 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:08,652 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:33:08,655 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:08,656 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_330|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_330| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_330| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_330| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:08,656 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:08,697 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,699 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,700 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,701 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:33:08,707 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,718 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:08,719 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:08,719 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:33:08,726 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:08,726 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_331|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_331| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_331| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_331| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_331| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:08,726 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:08,767 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,769 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,771 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,772 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:08,774 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,787 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:08,791 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:08,791 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:08,798 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:08,798 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_332|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_332| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_332| ULTIMATE.start_main_p2) 1) 0) (= .cse0 0) (= (select |v_#memory_int_332| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_332| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:08,798 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:33:08,842 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,844 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,845 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,846 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:08,849 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,863 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:08,866 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:08,866 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:08,871 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:08,872 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_333|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_333| ULTIMATE.start_main_p1))) (and (= 1 .cse0) (= |#memory_int| (store |v_#memory_int_333| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_333| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |v_#memory_int_333| ULTIMATE.start_main_p2) 1)))) [2019-05-15 10:33:08,872 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:33:08,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,941 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:08,943 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:08,946 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:08,960 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:08,963 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:08,964 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:08,969 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:08,969 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_334|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_334| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_334| ULTIMATE.start_main_p2) 1) 0) (= .cse0 2) (= (select |v_#memory_int_334| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_334| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:08,970 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:33:08,995 INFO L273 TraceCheckUtils]: 0: Hoare triple {10537#true} havoc main_p1, main_p2, main_p3; {10537#true} is VALID [2019-05-15 10:33:08,996 INFO L273 TraceCheckUtils]: 1: Hoare triple {10537#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {10537#true} is VALID [2019-05-15 10:33:08,996 INFO L273 TraceCheckUtils]: 2: Hoare triple {10537#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {10537#true} is VALID [2019-05-15 10:33:08,996 INFO L273 TraceCheckUtils]: 3: Hoare triple {10537#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {10537#true} is VALID [2019-05-15 10:33:08,997 INFO L273 TraceCheckUtils]: 4: Hoare triple {10537#true} assume main_p1 < main_p2; {10554#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:33:08,997 INFO L273 TraceCheckUtils]: 5: Hoare triple {10554#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {10558#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:08,998 INFO L273 TraceCheckUtils]: 6: Hoare triple {10558#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {10562#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:08,999 INFO L273 TraceCheckUtils]: 7: Hoare triple {10562#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {10566#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:09,000 INFO L273 TraceCheckUtils]: 8: Hoare triple {10566#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {10570#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:09,002 INFO L273 TraceCheckUtils]: 9: Hoare triple {10570#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10574#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:33:09,004 INFO L273 TraceCheckUtils]: 10: Hoare triple {10574#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10578#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:33:09,006 INFO L273 TraceCheckUtils]: 11: Hoare triple {10578#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10582#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:33:09,008 INFO L273 TraceCheckUtils]: 12: Hoare triple {10582#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10586#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} is VALID [2019-05-15 10:33:09,009 INFO L273 TraceCheckUtils]: 13: Hoare triple {10586#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} assume !(#memory_int[main_p1] >= 0); {10538#false} is VALID [2019-05-15 10:33:09,011 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:33:09,011 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:33:09,011 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:33:09,011 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:33:09,012 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:33:09,012 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:33:09,033 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:09,034 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:33:09,034 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:33:09,034 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:33:09,034 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:33:10,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:10,120 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:33:10,120 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:33:10,121 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:33:10,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:33:10,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:33:10,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:33:10,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:33:10,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:33:10,122 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:33:10,203 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:10,204 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:33:10,204 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:33:10,204 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:33:10,205 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:33:10,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 27. [2019-05-15 10:33:10,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:33:10,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 27 states. [2019-05-15 10:33:10,206 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 27 states. [2019-05-15 10:33:10,206 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 27 states. [2019-05-15 10:33:10,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:10,207 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:33:10,207 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:33:10,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:10,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:10,207 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 41 states. [2019-05-15 10:33:10,208 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 41 states. [2019-05-15 10:33:10,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:10,208 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:33:10,209 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:33:10,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:10,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:10,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:33:10,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:33:10,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:33:10,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:33:10,210 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 14 [2019-05-15 10:33:10,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:33:10,210 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:33:10,210 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:33:10,210 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:33:10,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:33:10,211 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:33:10,211 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:33:10,211 INFO L418 AbstractCegarLoop]: === Iteration 55 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:33:10,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:33:10,212 INFO L82 PathProgramCache]: Analyzing trace with hash -1119387758, now seen corresponding path program 6 times [2019-05-15 10:33:10,212 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:33:10,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:10,217 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:33:10,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:10,235 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:33:10,279 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:33:10,279 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:10,285 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:10,286 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:10,286 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:33:10,289 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:10,289 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_335|]. (and (= (store |v_#memory_int_335| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:10,290 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:10,310 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:10,311 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:33:10,312 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:10,319 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:10,319 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:10,320 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:33:10,347 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:10,348 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 21 treesize of output 19 [2019-05-15 10:33:10,349 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:10,358 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:10,358 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:10,359 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:14 [2019-05-15 10:33:22,479 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:22,479 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_337|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_337| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= (select |v_#memory_int_337| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_337| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:33:22,479 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:22,567 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:22,568 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 21 treesize of output 19 [2019-05-15 10:33:22,570 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:22,578 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:22,579 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:22,579 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:16 [2019-05-15 10:33:22,583 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:22,583 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_338|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_338| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_338| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_338| ULTIMATE.start_main_p3) 1) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:33:22,583 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:22,612 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:22,613 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 23 treesize of output 21 [2019-05-15 10:33:22,634 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:22,640 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:22,641 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:22,641 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:33:22,646 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:22,646 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_339|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_339| ULTIMATE.start_main_p2))) (and (= (+ .cse0 1) 0) (= |#memory_int| (store |v_#memory_int_339| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_339| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:33:22,646 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:22,672 INFO L273 TraceCheckUtils]: 0: Hoare triple {10749#true} havoc main_p1, main_p2, main_p3; {10749#true} is VALID [2019-05-15 10:33:22,673 INFO L273 TraceCheckUtils]: 1: Hoare triple {10749#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {10749#true} is VALID [2019-05-15 10:33:22,673 INFO L273 TraceCheckUtils]: 2: Hoare triple {10749#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {10749#true} is VALID [2019-05-15 10:33:22,673 INFO L273 TraceCheckUtils]: 3: Hoare triple {10749#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {10749#true} is VALID [2019-05-15 10:33:22,673 INFO L273 TraceCheckUtils]: 4: Hoare triple {10749#true} assume main_p1 < main_p2; {10749#true} is VALID [2019-05-15 10:33:22,674 INFO L273 TraceCheckUtils]: 5: Hoare triple {10749#true} assume main_p2 < main_p3; {10769#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:33:22,674 INFO L273 TraceCheckUtils]: 6: Hoare triple {10769#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {10769#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:33:22,675 INFO L273 TraceCheckUtils]: 7: Hoare triple {10769#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {10776#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:33:22,676 INFO L273 TraceCheckUtils]: 8: Hoare triple {10776#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {10780#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:33:22,677 INFO L273 TraceCheckUtils]: 9: Hoare triple {10780#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10784#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:33:22,678 INFO L273 TraceCheckUtils]: 10: Hoare triple {10784#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10788#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:33:22,680 INFO L273 TraceCheckUtils]: 11: Hoare triple {10788#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10792#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:33:22,681 INFO L273 TraceCheckUtils]: 12: Hoare triple {10792#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {10792#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:33:22,682 INFO L273 TraceCheckUtils]: 13: Hoare triple {10792#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {10750#false} is VALID [2019-05-15 10:33:22,683 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:33:22,683 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:33:22,683 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:33:22,684 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:33:22,684 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:33:22,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:33:22,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:22,704 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:33:22,705 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:33:22,705 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:33:22,705 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 8 states. [2019-05-15 10:33:23,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:23,248 INFO L93 Difference]: Finished difference Result 38 states and 70 transitions. [2019-05-15 10:33:23,249 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:33:23,249 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:33:23,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:33:23,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:33:23,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:33:23,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:33:23,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:33:23,250 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 42 transitions. [2019-05-15 10:33:23,314 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:23,314 INFO L225 Difference]: With dead ends: 38 [2019-05-15 10:33:23,315 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:33:23,315 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:33:23,315 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:33:23,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 29. [2019-05-15 10:33:23,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:33:23,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 29 states. [2019-05-15 10:33:23,316 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 29 states. [2019-05-15 10:33:23,317 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 29 states. [2019-05-15 10:33:23,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:23,317 INFO L93 Difference]: Finished difference Result 38 states and 70 transitions. [2019-05-15 10:33:23,317 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 70 transitions. [2019-05-15 10:33:23,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:23,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:23,318 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 38 states. [2019-05-15 10:33:23,318 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 38 states. [2019-05-15 10:33:23,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:23,318 INFO L93 Difference]: Finished difference Result 38 states and 70 transitions. [2019-05-15 10:33:23,318 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 70 transitions. [2019-05-15 10:33:23,319 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:23,319 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:23,319 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:33:23,319 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:33:23,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:33:23,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 64 transitions. [2019-05-15 10:33:23,320 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 64 transitions. Word has length 14 [2019-05-15 10:33:23,320 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:33:23,320 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 64 transitions. [2019-05-15 10:33:23,320 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:33:23,320 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 64 transitions. [2019-05-15 10:33:23,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:33:23,321 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:33:23,321 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:33:23,321 INFO L418 AbstractCegarLoop]: === Iteration 56 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:33:23,321 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:33:23,321 INFO L82 PathProgramCache]: Analyzing trace with hash -1119388070, now seen corresponding path program 19 times [2019-05-15 10:33:23,322 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:33:23,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:23,327 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:33:23,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:23,332 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:33:23,363 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:33:23,363 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:23,372 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:23,372 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:23,373 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:33:23,376 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:23,377 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_340|]. (and (= (store |v_#memory_int_340| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:23,377 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:23,403 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:23,404 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:33:23,406 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:23,416 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:23,417 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:23,417 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:33:23,453 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:23,454 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:23,456 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:23,457 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:33:23,458 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:23,471 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:23,472 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:23,472 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:33:23,527 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:23,529 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:23,530 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:23,531 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:33:23,534 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:23,546 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:23,547 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:23,547 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:33:35,738 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:35,739 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_343|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_343| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_343| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (store |v_#memory_int_343| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_343| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:35,739 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:35,861 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:35,863 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:35,865 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:35,866 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:33:35,868 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:35,881 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:35,882 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:35,882 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:33:35,894 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:35,894 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_344|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_344| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_344| ULTIMATE.start_main_p3) 1) (= 0 (select |v_#memory_int_344| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_344| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-05-15 10:33:35,894 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:35,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:35,941 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:35,943 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:35,944 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:35,947 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:35,959 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:35,960 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:35,960 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:35,967 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:35,967 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_345|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_345| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_345| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_345| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_345| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:35,967 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:36,015 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:36,017 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:36,018 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:36,019 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:33:36,022 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:36,079 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:36,080 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:36,080 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:33:36,097 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:36,098 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_346|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_346| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_346| ULTIMATE.start_main_p2) 2) 0) (= (store |v_#memory_int_346| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0) (= 1 (select |v_#memory_int_346| ULTIMATE.start_main_p3)))) [2019-05-15 10:33:36,098 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:36,162 INFO L273 TraceCheckUtils]: 0: Hoare triple {10947#true} havoc main_p1, main_p2, main_p3; {10947#true} is VALID [2019-05-15 10:33:36,163 INFO L273 TraceCheckUtils]: 1: Hoare triple {10947#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {10947#true} is VALID [2019-05-15 10:33:36,163 INFO L273 TraceCheckUtils]: 2: Hoare triple {10947#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {10947#true} is VALID [2019-05-15 10:33:36,163 INFO L273 TraceCheckUtils]: 3: Hoare triple {10947#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {10947#true} is VALID [2019-05-15 10:33:36,164 INFO L273 TraceCheckUtils]: 4: Hoare triple {10947#true} assume main_p1 < main_p2; {10964#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:33:36,164 INFO L273 TraceCheckUtils]: 5: Hoare triple {10964#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {10968#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:36,165 INFO L273 TraceCheckUtils]: 6: Hoare triple {10968#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {10972#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:36,167 INFO L273 TraceCheckUtils]: 7: Hoare triple {10972#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {10976#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:36,168 INFO L273 TraceCheckUtils]: 8: Hoare triple {10976#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {10980#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:36,170 INFO L273 TraceCheckUtils]: 9: Hoare triple {10980#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10984#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:36,172 INFO L273 TraceCheckUtils]: 10: Hoare triple {10984#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10988#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:33:36,174 INFO L273 TraceCheckUtils]: 11: Hoare triple {10988#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10992#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:33:36,177 INFO L273 TraceCheckUtils]: 12: Hoare triple {10992#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {10996#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:33:36,178 INFO L273 TraceCheckUtils]: 13: Hoare triple {10996#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {10948#false} is VALID [2019-05-15 10:33:36,179 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:33:36,179 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:33:36,180 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:33:36,180 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:33:36,180 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:33:36,180 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:33:36,203 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:36,204 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:33:36,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:33:36,204 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:33:36,204 INFO L87 Difference]: Start difference. First operand 29 states and 64 transitions. Second operand 11 states. [2019-05-15 10:33:37,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:37,260 INFO L93 Difference]: Finished difference Result 47 states and 80 transitions. [2019-05-15 10:33:37,260 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:33:37,260 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:33:37,261 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:33:37,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:33:37,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:33:37,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:33:37,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:33:37,261 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2019-05-15 10:33:37,355 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:37,356 INFO L225 Difference]: With dead ends: 47 [2019-05-15 10:33:37,356 INFO L226 Difference]: Without dead ends: 47 [2019-05-15 10:33:37,356 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:33:37,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2019-05-15 10:33:37,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 28. [2019-05-15 10:33:37,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:33:37,358 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 28 states. [2019-05-15 10:33:37,358 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 28 states. [2019-05-15 10:33:37,358 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 28 states. [2019-05-15 10:33:37,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:37,359 INFO L93 Difference]: Finished difference Result 47 states and 80 transitions. [2019-05-15 10:33:37,359 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 80 transitions. [2019-05-15 10:33:37,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:37,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:37,360 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 47 states. [2019-05-15 10:33:37,360 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 47 states. [2019-05-15 10:33:37,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:37,361 INFO L93 Difference]: Finished difference Result 47 states and 80 transitions. [2019-05-15 10:33:37,361 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 80 transitions. [2019-05-15 10:33:37,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:37,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:37,362 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:33:37,362 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:33:37,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:33:37,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 60 transitions. [2019-05-15 10:33:37,363 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 60 transitions. Word has length 14 [2019-05-15 10:33:37,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:33:37,363 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 60 transitions. [2019-05-15 10:33:37,363 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:33:37,363 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 60 transitions. [2019-05-15 10:33:37,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:33:37,363 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:33:37,363 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:33:37,364 INFO L418 AbstractCegarLoop]: === Iteration 57 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:33:37,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:33:37,364 INFO L82 PathProgramCache]: Analyzing trace with hash -1119385836, now seen corresponding path program 7 times [2019-05-15 10:33:37,365 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:33:37,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:37,369 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:33:37,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:37,378 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:33:37,397 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:33:37,397 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,403 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:37,404 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,404 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:33:37,407 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:37,407 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_347|]. (and (= (store |v_#memory_int_347| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:37,407 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:37,426 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:37,427 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:33:37,428 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,436 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:37,436 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,437 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:33:37,465 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:37,466 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 21 treesize of output 19 [2019-05-15 10:33:37,467 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,476 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:37,476 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,476 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:14 [2019-05-15 10:33:37,486 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:37,486 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_349|]. (let ((.cse0 (select |v_#memory_int_349| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_349| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_349| ULTIMATE.start_main_p2)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:33:37,486 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:37,513 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:37,514 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 21 treesize of output 19 [2019-05-15 10:33:37,516 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,523 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:37,524 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,524 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:33:37,535 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:37,536 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_350|]. (let ((.cse0 (select |v_#memory_int_350| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (store |v_#memory_int_350| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_350| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:33:37,536 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:33:37,565 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:37,566 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 23 treesize of output 21 [2019-05-15 10:33:37,568 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:37,575 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:37,576 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:37,576 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:33:49,644 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:49,644 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_351|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_351| ULTIMATE.start_main_p3))) (and (= 1 .cse0) (= (store |v_#memory_int_351| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_351| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:33:49,644 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:33:49,702 INFO L273 TraceCheckUtils]: 0: Hoare triple {11176#true} havoc main_p1, main_p2, main_p3; {11176#true} is VALID [2019-05-15 10:33:49,702 INFO L273 TraceCheckUtils]: 1: Hoare triple {11176#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {11176#true} is VALID [2019-05-15 10:33:49,703 INFO L273 TraceCheckUtils]: 2: Hoare triple {11176#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {11176#true} is VALID [2019-05-15 10:33:49,703 INFO L273 TraceCheckUtils]: 3: Hoare triple {11176#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {11176#true} is VALID [2019-05-15 10:33:49,703 INFO L273 TraceCheckUtils]: 4: Hoare triple {11176#true} assume main_p1 < main_p2; {11176#true} is VALID [2019-05-15 10:33:49,704 INFO L273 TraceCheckUtils]: 5: Hoare triple {11176#true} assume main_p2 < main_p3; {11196#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:33:49,704 INFO L273 TraceCheckUtils]: 6: Hoare triple {11196#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {11196#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:33:49,705 INFO L273 TraceCheckUtils]: 7: Hoare triple {11196#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {11203#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:33:49,706 INFO L273 TraceCheckUtils]: 8: Hoare triple {11203#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {11207#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:33:49,708 INFO L273 TraceCheckUtils]: 9: Hoare triple {11207#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11211#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:33:49,709 INFO L273 TraceCheckUtils]: 10: Hoare triple {11211#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11215#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:33:49,710 INFO L273 TraceCheckUtils]: 11: Hoare triple {11215#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11219#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:33:49,711 INFO L273 TraceCheckUtils]: 12: Hoare triple {11219#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {11219#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:33:49,712 INFO L273 TraceCheckUtils]: 13: Hoare triple {11219#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {11177#false} is VALID [2019-05-15 10:33:49,713 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:33:49,713 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:33:49,714 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:33:49,714 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:33:49,714 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:33:49,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:33:49,732 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:49,732 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:33:49,732 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:33:49,732 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:33:49,733 INFO L87 Difference]: Start difference. First operand 28 states and 60 transitions. Second operand 8 states. [2019-05-15 10:33:50,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:50,107 INFO L93 Difference]: Finished difference Result 37 states and 69 transitions. [2019-05-15 10:33:50,107 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:33:50,108 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:33:50,108 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:33:50,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:33:50,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:33:50,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:33:50,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:33:50,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 42 transitions. [2019-05-15 10:33:50,168 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:33:50,169 INFO L225 Difference]: With dead ends: 37 [2019-05-15 10:33:50,169 INFO L226 Difference]: Without dead ends: 35 [2019-05-15 10:33:50,169 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:33:50,169 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2019-05-15 10:33:50,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 29. [2019-05-15 10:33:50,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:33:50,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 29 states. [2019-05-15 10:33:50,170 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 29 states. [2019-05-15 10:33:50,170 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 29 states. [2019-05-15 10:33:50,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:50,171 INFO L93 Difference]: Finished difference Result 35 states and 67 transitions. [2019-05-15 10:33:50,171 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 67 transitions. [2019-05-15 10:33:50,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:50,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:50,172 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 35 states. [2019-05-15 10:33:50,172 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 35 states. [2019-05-15 10:33:50,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:33:50,173 INFO L93 Difference]: Finished difference Result 35 states and 67 transitions. [2019-05-15 10:33:50,173 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 67 transitions. [2019-05-15 10:33:50,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:33:50,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:33:50,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:33:50,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:33:50,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:33:50,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:33:50,174 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:33:50,175 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:33:50,175 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:33:50,175 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:33:50,175 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:33:50,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:33:50,175 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:33:50,175 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:33:50,176 INFO L418 AbstractCegarLoop]: === Iteration 58 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:33:50,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:33:50,176 INFO L82 PathProgramCache]: Analyzing trace with hash -1119386148, now seen corresponding path program 20 times [2019-05-15 10:33:50,177 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:33:50,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:50,181 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:33:50,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:33:50,191 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:33:50,225 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:33:50,225 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,234 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:50,234 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,234 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:33:50,237 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:50,238 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_352|]. (and (= |#memory_int| (store |v_#memory_int_352| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:50,238 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:50,266 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,267 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:33:50,268 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,279 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:50,279 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,279 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:33:50,315 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,316 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,318 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,319 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:33:50,320 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,332 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:50,333 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,333 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:33:50,376 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,377 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,379 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,380 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:33:50,382 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,395 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:50,395 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,395 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:33:50,409 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:33:50,409 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_355|]. (let ((.cse0 (select |v_#memory_int_355| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_355| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_355| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_355| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:33:50,409 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:33:50,574 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,575 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,576 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:33:50,577 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:33:50,580 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:33:50,592 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:33:50,592 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:33:50,593 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:34:02,638 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:02,638 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_356|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_356| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_356| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_356| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_356| ULTIMATE.start_main_p3) 1))) [2019-05-15 10:34:02,638 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:02,705 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:02,706 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:02,708 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:02,708 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:02,711 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:02,724 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:02,727 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:02,727 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:05,542 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:05,542 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_357|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_357| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_357| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_357| ULTIMATE.start_main_p1) 0) (= 1 .cse0) (= (+ (select |v_#memory_int_357| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:05,542 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:34:05,591 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:05,593 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:05,594 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:05,595 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:05,600 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:05,612 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:05,615 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:05,616 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:05,622 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:05,622 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_358|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_358| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= 2 (select |v_#memory_int_358| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_358| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_358| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:05,622 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:34:05,648 INFO L273 TraceCheckUtils]: 0: Hoare triple {11363#true} havoc main_p1, main_p2, main_p3; {11363#true} is VALID [2019-05-15 10:34:05,648 INFO L273 TraceCheckUtils]: 1: Hoare triple {11363#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {11363#true} is VALID [2019-05-15 10:34:05,648 INFO L273 TraceCheckUtils]: 2: Hoare triple {11363#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {11363#true} is VALID [2019-05-15 10:34:05,649 INFO L273 TraceCheckUtils]: 3: Hoare triple {11363#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {11363#true} is VALID [2019-05-15 10:34:05,649 INFO L273 TraceCheckUtils]: 4: Hoare triple {11363#true} assume main_p1 < main_p2; {11380#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:34:05,650 INFO L273 TraceCheckUtils]: 5: Hoare triple {11380#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {11384#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:05,651 INFO L273 TraceCheckUtils]: 6: Hoare triple {11384#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {11388#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:05,652 INFO L273 TraceCheckUtils]: 7: Hoare triple {11388#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {11392#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:05,654 INFO L273 TraceCheckUtils]: 8: Hoare triple {11392#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {11396#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:05,655 INFO L273 TraceCheckUtils]: 9: Hoare triple {11396#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11400#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:05,657 INFO L273 TraceCheckUtils]: 10: Hoare triple {11400#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11404#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:34:05,660 INFO L273 TraceCheckUtils]: 11: Hoare triple {11404#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11408#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:34:05,664 INFO L273 TraceCheckUtils]: 12: Hoare triple {11408#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11412#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:34:05,665 INFO L273 TraceCheckUtils]: 13: Hoare triple {11412#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {11364#false} is VALID [2019-05-15 10:34:05,666 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:34:05,666 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:34:05,666 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:34:05,666 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:05,667 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:34:05,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:34:05,689 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:05,689 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:34:05,689 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:34:05,689 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:34:05,689 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:34:06,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:06,591 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:34:06,592 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:34:06,592 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:06,592 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:34:06,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:06,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:34:06,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:06,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:34:06,594 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:34:06,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:06,705 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:34:06,705 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:34:06,706 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:34:06,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:34:06,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 28. [2019-05-15 10:34:06,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:34:06,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 28 states. [2019-05-15 10:34:06,707 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 28 states. [2019-05-15 10:34:06,707 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 28 states. [2019-05-15 10:34:06,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:06,708 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:34:06,708 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:34:06,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:06,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:06,708 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 44 states. [2019-05-15 10:34:06,709 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 44 states. [2019-05-15 10:34:06,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:06,709 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:34:06,709 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:34:06,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:06,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:06,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:34:06,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:34:06,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:34:06,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:34:06,710 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:34:06,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:34:06,710 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:34:06,710 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:34:06,711 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:34:06,711 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:34:06,711 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:34:06,711 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:34:06,711 INFO L418 AbstractCegarLoop]: === Iteration 59 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:34:06,711 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:34:06,711 INFO L82 PathProgramCache]: Analyzing trace with hash -1119391790, now seen corresponding path program 21 times [2019-05-15 10:34:06,712 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:34:06,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:06,717 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:34:06,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:06,745 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:34:06,831 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:34:06,831 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:06,840 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:06,840 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:06,840 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:34:06,844 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:06,844 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_359|]. (and (= (store |v_#memory_int_359| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:06,845 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:06,871 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:06,872 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:34:06,873 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:06,884 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:06,884 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:06,885 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:34:06,922 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:06,924 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:06,925 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:06,927 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:34:06,928 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:06,941 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:06,942 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:06,942 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:34:07,076 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:07,078 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:07,079 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:07,081 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:34:07,083 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:07,096 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:07,097 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:07,097 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:34:19,188 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:19,188 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_362|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_362| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_362| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:19,188 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:19,399 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,400 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,402 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,403 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:34:19,405 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:19,417 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:19,417 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:19,418 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:34:19,424 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:19,425 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_363|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_363| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_363| ULTIMATE.start_main_p1)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_363| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:19,425 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:19,464 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,465 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,467 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,467 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:19,470 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:19,480 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:19,481 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:19,481 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:19,492 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:19,493 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_364|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_364| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_364| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (= 0 (+ (select |v_#memory_int_364| ULTIMATE.start_main_p2) 1)) (= 1 (select |v_#memory_int_364| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:19,493 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:34:19,533 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,534 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,535 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:19,536 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:19,539 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:19,551 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:19,552 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:19,552 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:21,494 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:21,495 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_365|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_365| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_365| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_365| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_365| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ .cse0 1)))) [2019-05-15 10:34:21,495 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:21,563 INFO L273 TraceCheckUtils]: 0: Hoare triple {11581#true} havoc main_p1, main_p2, main_p3; {11581#true} is VALID [2019-05-15 10:34:21,563 INFO L273 TraceCheckUtils]: 1: Hoare triple {11581#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {11581#true} is VALID [2019-05-15 10:34:21,563 INFO L273 TraceCheckUtils]: 2: Hoare triple {11581#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {11581#true} is VALID [2019-05-15 10:34:21,564 INFO L273 TraceCheckUtils]: 3: Hoare triple {11581#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {11581#true} is VALID [2019-05-15 10:34:21,564 INFO L273 TraceCheckUtils]: 4: Hoare triple {11581#true} assume main_p1 < main_p2; {11598#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:34:21,565 INFO L273 TraceCheckUtils]: 5: Hoare triple {11598#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {11602#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:21,565 INFO L273 TraceCheckUtils]: 6: Hoare triple {11602#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {11606#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:21,566 INFO L273 TraceCheckUtils]: 7: Hoare triple {11606#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {11610#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:21,567 INFO L273 TraceCheckUtils]: 8: Hoare triple {11610#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {11614#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:21,568 INFO L273 TraceCheckUtils]: 9: Hoare triple {11614#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11618#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:21,586 INFO L273 TraceCheckUtils]: 10: Hoare triple {11618#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11622#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:21,600 INFO L273 TraceCheckUtils]: 11: Hoare triple {11622#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11626#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:34:21,616 INFO L273 TraceCheckUtils]: 12: Hoare triple {11626#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11630#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:34:21,631 INFO L273 TraceCheckUtils]: 13: Hoare triple {11630#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {11582#false} is VALID [2019-05-15 10:34:21,632 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:34:21,632 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:34:21,632 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:34:21,633 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:21,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:34:21,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:34:21,664 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:21,664 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:34:21,664 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:34:21,665 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:34:21,665 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:34:22,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:22,566 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:34:22,567 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:34:22,567 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:22,567 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:34:22,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:22,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:34:22,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:22,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:34:22,568 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:34:22,653 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:22,653 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:34:22,654 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:34:22,654 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:34:22,654 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:34:22,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 29. [2019-05-15 10:34:22,655 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:34:22,655 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 29 states. [2019-05-15 10:34:22,656 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 29 states. [2019-05-15 10:34:22,659 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 29 states. [2019-05-15 10:34:22,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:22,660 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:34:22,660 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:34:22,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:22,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:22,660 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 44 states. [2019-05-15 10:34:22,660 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 44 states. [2019-05-15 10:34:22,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:22,661 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:34:22,661 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:34:22,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:22,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:22,662 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:34:22,662 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:34:22,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:34:22,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:34:22,663 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:34:22,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:34:22,663 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:34:22,663 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:34:22,663 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:34:22,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:34:22,663 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:34:22,663 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:34:22,664 INFO L418 AbstractCegarLoop]: === Iteration 60 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:34:22,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:34:22,664 INFO L82 PathProgramCache]: Analyzing trace with hash -1119391728, now seen corresponding path program 22 times [2019-05-15 10:34:22,665 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:34:22,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:22,670 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:34:22,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:22,675 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:34:22,706 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:34:22,706 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,713 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:22,714 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,714 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:34:22,717 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:22,717 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_366|]. (and (= |#memory_int| (store |v_#memory_int_366| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:22,717 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:22,744 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:22,745 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:34:22,746 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,757 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:22,757 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,757 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:34:22,873 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:22,874 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:22,875 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:22,875 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:34:22,885 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,897 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:22,897 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,898 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:34:22,952 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:22,952 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:22,953 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:22,954 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:34:22,956 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,968 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:22,969 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:22,969 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:34:22,982 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:22,982 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_369|]. (let ((.cse0 (select |v_#memory_int_369| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_369| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_369| ULTIMATE.start_main_p2)) (= .cse0 0) (= (store |v_#memory_int_369| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:22,982 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:23,025 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:23,027 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:23,028 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:23,029 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:34:23,031 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:23,045 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:23,045 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:23,045 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:34:35,087 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:35,087 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_370|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_370| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (select |v_#memory_int_370| ULTIMATE.start_main_p3) 1) (= 0 (select |v_#memory_int_370| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_370| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:35,088 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:35,138 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:35,139 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:35,141 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:35,142 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:35,144 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:35,155 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:35,158 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:35,159 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:35,177 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:35,178 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_371|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_371| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_371| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_371| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_371| ULTIMATE.start_main_p3) 1) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:35,178 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:34:35,303 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:35,304 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:35,306 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:35,307 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:35,309 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:35,320 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:35,323 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:35,324 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:35,329 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:35,329 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_372|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_372| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_372| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_372| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_372| ULTIMATE.start_main_p1) 1) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:35,330 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:34:35,354 INFO L273 TraceCheckUtils]: 0: Hoare triple {11802#true} havoc main_p1, main_p2, main_p3; {11802#true} is VALID [2019-05-15 10:34:35,355 INFO L273 TraceCheckUtils]: 1: Hoare triple {11802#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {11802#true} is VALID [2019-05-15 10:34:35,355 INFO L273 TraceCheckUtils]: 2: Hoare triple {11802#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {11802#true} is VALID [2019-05-15 10:34:35,355 INFO L273 TraceCheckUtils]: 3: Hoare triple {11802#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {11802#true} is VALID [2019-05-15 10:34:35,356 INFO L273 TraceCheckUtils]: 4: Hoare triple {11802#true} assume main_p1 < main_p2; {11819#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:34:35,356 INFO L273 TraceCheckUtils]: 5: Hoare triple {11819#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {11823#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:35,357 INFO L273 TraceCheckUtils]: 6: Hoare triple {11823#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {11827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:35,358 INFO L273 TraceCheckUtils]: 7: Hoare triple {11827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {11831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:35,377 INFO L273 TraceCheckUtils]: 8: Hoare triple {11831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {11835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:35,391 INFO L273 TraceCheckUtils]: 9: Hoare triple {11835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:35,394 INFO L273 TraceCheckUtils]: 10: Hoare triple {11839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11843#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:34:35,396 INFO L273 TraceCheckUtils]: 11: Hoare triple {11843#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11847#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:34:35,397 INFO L273 TraceCheckUtils]: 12: Hoare triple {11847#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11851#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:34:35,398 INFO L273 TraceCheckUtils]: 13: Hoare triple {11851#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {11803#false} is VALID [2019-05-15 10:34:35,398 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:34:35,398 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:34:35,398 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:34:35,399 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:35,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:34:35,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:34:35,418 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:35,418 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:34:35,419 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:34:35,419 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:34:35,419 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:34:36,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:36,128 INFO L93 Difference]: Finished difference Result 43 states and 76 transitions. [2019-05-15 10:34:36,128 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:34:36,128 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:36,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:34:36,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:36,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:34:36,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:36,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:34:36,129 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:34:36,212 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:36,213 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:34:36,213 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:34:36,213 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=49, Invalid=133, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:34:36,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:34:36,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 29. [2019-05-15 10:34:36,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:34:36,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 29 states. [2019-05-15 10:34:36,214 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 29 states. [2019-05-15 10:34:36,214 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 29 states. [2019-05-15 10:34:36,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:36,215 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:34:36,215 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:34:36,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:36,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:36,215 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 41 states. [2019-05-15 10:34:36,216 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 41 states. [2019-05-15 10:34:36,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:36,216 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:34:36,216 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:34:36,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:36,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:36,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:34:36,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:34:36,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:34:36,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:34:36,217 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:34:36,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:34:36,217 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:34:36,217 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:34:36,217 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:34:36,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:34:36,218 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:34:36,218 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:34:36,218 INFO L418 AbstractCegarLoop]: === Iteration 61 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:34:36,218 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:34:36,218 INFO L82 PathProgramCache]: Analyzing trace with hash -1119391914, now seen corresponding path program 23 times [2019-05-15 10:34:36,219 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:34:36,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:36,223 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:34:36,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:36,236 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:34:36,263 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:34:36,263 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:36,271 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:36,272 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:36,272 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:34:36,275 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:36,275 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_373|]. (and (= (store |v_#memory_int_373| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:36,276 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:36,303 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:36,304 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:34:36,305 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:36,314 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:36,315 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:36,315 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:34:36,348 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:36,349 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:36,350 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:36,351 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:34:36,353 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:36,365 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:36,365 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:36,365 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:34:36,405 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:36,407 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:36,408 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:36,409 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:34:36,411 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:36,423 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:36,424 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:36,424 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:34:48,444 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:48,444 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_376|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_376| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_376| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_376| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_376| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:34:48,445 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:48,496 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,497 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,498 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,499 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:34:48,502 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:48,513 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:48,513 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:48,514 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:34:48,519 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:48,519 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_377|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_377| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_377| ULTIMATE.start_main_p3) 1) (= .cse0 0) (= (select |v_#memory_int_377| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_377| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-05-15 10:34:48,519 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:34:48,558 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,559 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,560 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,561 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:48,563 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:48,575 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:48,578 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:48,579 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:48,584 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:48,584 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_378|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_378| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= (+ (select |v_#memory_int_378| ULTIMATE.start_main_p2) 1) 0) (= 1 (select |v_#memory_int_378| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_378| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-05-15 10:34:48,585 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:34:48,636 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,637 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,638 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:48,639 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:34:48,641 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:48,653 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:48,656 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:48,656 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:34:48,664 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:48,665 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_379|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_379| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_379| ULTIMATE.start_main_p3) 1) (= (store |v_#memory_int_379| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_379| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 1))) [2019-05-15 10:34:48,665 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:34:48,686 INFO L273 TraceCheckUtils]: 0: Hoare triple {12014#true} havoc main_p1, main_p2, main_p3; {12014#true} is VALID [2019-05-15 10:34:48,686 INFO L273 TraceCheckUtils]: 1: Hoare triple {12014#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {12014#true} is VALID [2019-05-15 10:34:48,686 INFO L273 TraceCheckUtils]: 2: Hoare triple {12014#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {12014#true} is VALID [2019-05-15 10:34:48,686 INFO L273 TraceCheckUtils]: 3: Hoare triple {12014#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {12014#true} is VALID [2019-05-15 10:34:48,687 INFO L273 TraceCheckUtils]: 4: Hoare triple {12014#true} assume main_p1 < main_p2; {12031#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:34:48,688 INFO L273 TraceCheckUtils]: 5: Hoare triple {12031#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {12035#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:48,688 INFO L273 TraceCheckUtils]: 6: Hoare triple {12035#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {12039#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:48,689 INFO L273 TraceCheckUtils]: 7: Hoare triple {12039#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {12043#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:48,690 INFO L273 TraceCheckUtils]: 8: Hoare triple {12043#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {12047#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:48,691 INFO L273 TraceCheckUtils]: 9: Hoare triple {12047#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12051#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:34:48,692 INFO L273 TraceCheckUtils]: 10: Hoare triple {12051#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12055#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:34:48,694 INFO L273 TraceCheckUtils]: 11: Hoare triple {12055#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12059#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:34:48,696 INFO L273 TraceCheckUtils]: 12: Hoare triple {12059#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12063#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:34:48,697 INFO L273 TraceCheckUtils]: 13: Hoare triple {12063#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {12015#false} is VALID [2019-05-15 10:34:48,699 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:34:48,699 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:34:48,699 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:34:48,699 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:48,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:34:48,700 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:34:48,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:48,718 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:34:48,719 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:34:48,719 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:34:48,719 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:34:49,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:49,530 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:34:49,530 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:34:49,530 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:34:49,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:34:49,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:49,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:34:49,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:34:49,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:34:49,532 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:34:49,609 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:34:49,609 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:34:49,609 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:34:49,609 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:34:49,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:34:49,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 27. [2019-05-15 10:34:49,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:34:49,611 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 27 states. [2019-05-15 10:34:49,611 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 27 states. [2019-05-15 10:34:49,611 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 27 states. [2019-05-15 10:34:49,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:49,612 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:34:49,612 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:34:49,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:49,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:49,612 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 41 states. [2019-05-15 10:34:49,612 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 41 states. [2019-05-15 10:34:49,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:34:49,613 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:34:49,613 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:34:49,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:34:49,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:34:49,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:34:49,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:34:49,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:34:49,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:34:49,615 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 14 [2019-05-15 10:34:49,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:34:49,615 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:34:49,615 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:34:49,615 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:34:49,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:34:49,615 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:34:49,615 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:34:49,616 INFO L418 AbstractCegarLoop]: === Iteration 62 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:34:49,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:34:49,616 INFO L82 PathProgramCache]: Analyzing trace with hash -1119328176, now seen corresponding path program 8 times [2019-05-15 10:34:49,617 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:34:49,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:49,620 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:34:49,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:34:49,637 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:34:49,663 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:34:49,664 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:49,670 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:49,670 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:49,670 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:34:49,673 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:49,673 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_380|]. (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_380| ULTIMATE.start_main_p2 0))) [2019-05-15 10:34:49,673 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:34:49,693 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:49,695 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:34:49,697 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:49,703 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:49,703 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:49,704 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:34:49,730 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:49,731 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 21 treesize of output 19 [2019-05-15 10:34:49,732 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:49,740 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:49,741 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:34:49,741 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:14 [2019-05-15 10:34:49,757 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:34:49,758 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_382|]. (let ((.cse0 (select |v_#memory_int_382| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_382| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_382| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:34:49,758 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:34:49,787 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:34:49,788 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 21 treesize of output 19 [2019-05-15 10:34:49,789 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:34:49,797 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:34:49,798 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:34:49,798 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:14 [2019-05-15 10:35:02,523 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:02,523 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_383|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_383| ULTIMATE.start_main_p3))) (and (= .cse0 1) (= (store |v_#memory_int_383| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_383| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:35:02,523 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:35:02,606 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:02,607 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 21 treesize of output 19 [2019-05-15 10:35:02,609 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:02,616 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:02,616 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:02,616 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:16 [2019-05-15 10:35:02,622 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:02,622 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_384|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_384| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_384| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_384| ULTIMATE.start_main_p3) 2))) [2019-05-15 10:35:02,622 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:35:02,644 INFO L273 TraceCheckUtils]: 0: Hoare triple {12224#true} havoc main_p1, main_p2, main_p3; {12224#true} is VALID [2019-05-15 10:35:02,644 INFO L273 TraceCheckUtils]: 1: Hoare triple {12224#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {12224#true} is VALID [2019-05-15 10:35:02,644 INFO L273 TraceCheckUtils]: 2: Hoare triple {12224#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {12224#true} is VALID [2019-05-15 10:35:02,645 INFO L273 TraceCheckUtils]: 3: Hoare triple {12224#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {12224#true} is VALID [2019-05-15 10:35:02,645 INFO L273 TraceCheckUtils]: 4: Hoare triple {12224#true} assume main_p1 < main_p2; {12224#true} is VALID [2019-05-15 10:35:02,645 INFO L273 TraceCheckUtils]: 5: Hoare triple {12224#true} assume main_p2 < main_p3; {12244#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:35:02,646 INFO L273 TraceCheckUtils]: 6: Hoare triple {12244#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {12244#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:35:02,647 INFO L273 TraceCheckUtils]: 7: Hoare triple {12244#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {12251#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:35:02,647 INFO L273 TraceCheckUtils]: 8: Hoare triple {12251#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {12255#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:35:02,648 INFO L273 TraceCheckUtils]: 9: Hoare triple {12255#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12259#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:35:02,649 INFO L273 TraceCheckUtils]: 10: Hoare triple {12259#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12263#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:35:02,650 INFO L273 TraceCheckUtils]: 11: Hoare triple {12263#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12267#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:35:02,651 INFO L273 TraceCheckUtils]: 12: Hoare triple {12267#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {12267#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:35:02,652 INFO L273 TraceCheckUtils]: 13: Hoare triple {12267#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {12225#false} is VALID [2019-05-15 10:35:02,653 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:02,653 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:02,653 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:35:02,654 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:35:02,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:02,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:35:02,670 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:02,671 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:35:02,671 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:35:02,671 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:35:02,671 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 8 states. [2019-05-15 10:35:03,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:03,122 INFO L93 Difference]: Finished difference Result 37 states and 66 transitions. [2019-05-15 10:35:03,122 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:35:03,122 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2019-05-15 10:35:03,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:03,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:35:03,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:35:03,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:35:03,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 42 transitions. [2019-05-15 10:35:03,123 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 42 transitions. [2019-05-15 10:35:03,179 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:03,180 INFO L225 Difference]: With dead ends: 37 [2019-05-15 10:35:03,180 INFO L226 Difference]: Without dead ends: 37 [2019-05-15 10:35:03,181 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:35:03,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2019-05-15 10:35:03,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 28. [2019-05-15 10:35:03,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:03,182 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 28 states. [2019-05-15 10:35:03,182 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 28 states. [2019-05-15 10:35:03,182 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 28 states. [2019-05-15 10:35:03,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:03,183 INFO L93 Difference]: Finished difference Result 37 states and 66 transitions. [2019-05-15 10:35:03,183 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 66 transitions. [2019-05-15 10:35:03,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:03,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:03,183 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 37 states. [2019-05-15 10:35:03,183 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 37 states. [2019-05-15 10:35:03,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:03,184 INFO L93 Difference]: Finished difference Result 37 states and 66 transitions. [2019-05-15 10:35:03,184 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 66 transitions. [2019-05-15 10:35:03,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:03,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:03,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:03,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:03,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:35:03,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 60 transitions. [2019-05-15 10:35:03,186 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 60 transitions. Word has length 14 [2019-05-15 10:35:03,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:03,186 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 60 transitions. [2019-05-15 10:35:03,186 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:35:03,186 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 60 transitions. [2019-05-15 10:35:03,186 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:03,186 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:03,186 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:03,187 INFO L418 AbstractCegarLoop]: === Iteration 63 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:03,187 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:03,187 INFO L82 PathProgramCache]: Analyzing trace with hash -1119328488, now seen corresponding path program 24 times [2019-05-15 10:35:03,188 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:03,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:03,192 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:03,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:03,209 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:03,290 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:35:03,291 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,299 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:03,299 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,299 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:03,302 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:03,302 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_385|]. (and (= |#memory_int| (store |v_#memory_int_385| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:03,302 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:03,329 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,330 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:03,331 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,341 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:03,341 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,341 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:03,377 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,378 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,379 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,380 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:03,382 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,394 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:03,394 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,394 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:03,475 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,477 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,478 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,479 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:03,481 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,492 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:03,493 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,493 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:03,508 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:03,509 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_388|]. (let ((.cse0 (select |v_#memory_int_388| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_388| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_388| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_388| ULTIMATE.start_main_p2) 0))) [2019-05-15 10:35:03,509 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:03,546 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,547 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,548 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:03,549 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:03,551 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:03,561 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:03,562 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:03,562 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:15,634 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:15,634 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_389|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_389| ULTIMATE.start_main_p3))) (and (= .cse0 1) (= |#memory_int| (store |v_#memory_int_389| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_389| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_389| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:15,634 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:15,694 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:15,695 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:15,697 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:15,698 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:15,700 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:15,712 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:15,713 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:15,713 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:35:16,149 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:16,149 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_390|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_390| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_390| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_390| ULTIMATE.start_main_p1)) (= 2 (select |v_#memory_int_390| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:16,149 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:16,194 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:16,196 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:16,197 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:16,198 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:35:16,201 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:16,214 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:16,217 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:16,217 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:35:16,222 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:16,222 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_391|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_391| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_391| ULTIMATE.start_main_p3) 2) (= (store |v_#memory_int_391| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (+ (select |v_#memory_int_391| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:16,222 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:35:16,245 INFO L273 TraceCheckUtils]: 0: Hoare triple {12416#true} havoc main_p1, main_p2, main_p3; {12416#true} is VALID [2019-05-15 10:35:16,245 INFO L273 TraceCheckUtils]: 1: Hoare triple {12416#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {12416#true} is VALID [2019-05-15 10:35:16,245 INFO L273 TraceCheckUtils]: 2: Hoare triple {12416#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {12416#true} is VALID [2019-05-15 10:35:16,246 INFO L273 TraceCheckUtils]: 3: Hoare triple {12416#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {12416#true} is VALID [2019-05-15 10:35:16,246 INFO L273 TraceCheckUtils]: 4: Hoare triple {12416#true} assume main_p1 < main_p2; {12433#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:16,247 INFO L273 TraceCheckUtils]: 5: Hoare triple {12433#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {12437#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:16,248 INFO L273 TraceCheckUtils]: 6: Hoare triple {12437#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {12441#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:16,248 INFO L273 TraceCheckUtils]: 7: Hoare triple {12441#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {12445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:16,249 INFO L273 TraceCheckUtils]: 8: Hoare triple {12445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {12449#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:16,250 INFO L273 TraceCheckUtils]: 9: Hoare triple {12449#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12453#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:16,252 INFO L273 TraceCheckUtils]: 10: Hoare triple {12453#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12457#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:16,255 INFO L273 TraceCheckUtils]: 11: Hoare triple {12457#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12461#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-05-15 10:35:16,257 INFO L273 TraceCheckUtils]: 12: Hoare triple {12461#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:35:16,258 INFO L273 TraceCheckUtils]: 13: Hoare triple {12465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {12417#false} is VALID [2019-05-15 10:35:16,259 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:16,259 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:16,260 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:16,260 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:16,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:16,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:16,281 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:16,281 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:16,282 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:16,282 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:16,282 INFO L87 Difference]: Start difference. First operand 28 states and 60 transitions. Second operand 11 states. [2019-05-15 10:35:17,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:17,325 INFO L93 Difference]: Finished difference Result 46 states and 76 transitions. [2019-05-15 10:35:17,325 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:17,325 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:17,326 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:17,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:17,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:35:17,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:17,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:35:17,327 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2019-05-15 10:35:17,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:17,444 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:35:17,444 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:35:17,444 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:35:17,444 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:35:17,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 27. [2019-05-15 10:35:17,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:17,445 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 27 states. [2019-05-15 10:35:17,445 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 27 states. [2019-05-15 10:35:17,445 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 27 states. [2019-05-15 10:35:17,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:17,446 INFO L93 Difference]: Finished difference Result 46 states and 76 transitions. [2019-05-15 10:35:17,446 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 76 transitions. [2019-05-15 10:35:17,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:17,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:17,447 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 46 states. [2019-05-15 10:35:17,447 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 46 states. [2019-05-15 10:35:17,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:17,447 INFO L93 Difference]: Finished difference Result 46 states and 76 transitions. [2019-05-15 10:35:17,447 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 76 transitions. [2019-05-15 10:35:17,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:17,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:17,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:17,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:17,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2019-05-15 10:35:17,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 56 transitions. [2019-05-15 10:35:17,448 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 56 transitions. Word has length 14 [2019-05-15 10:35:17,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:17,449 INFO L475 AbstractCegarLoop]: Abstraction has 27 states and 56 transitions. [2019-05-15 10:35:17,449 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:17,449 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 56 transitions. [2019-05-15 10:35:17,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:17,449 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:17,449 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:17,449 INFO L418 AbstractCegarLoop]: === Iteration 64 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:17,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:17,450 INFO L82 PathProgramCache]: Analyzing trace with hash -1119326566, now seen corresponding path program 9 times [2019-05-15 10:35:17,450 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:17,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:17,454 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:17,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:17,473 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:17,615 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:35:17,615 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:17,623 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:17,623 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:17,624 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:17,627 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:17,627 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_392|]. (and (= |#memory_int| (store |v_#memory_int_392| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:17,627 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:17,654 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,654 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:17,655 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:17,665 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:17,666 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:17,666 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:17,671 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:17,671 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_393|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_393| ULTIMATE.start_main_p2 0) |#memory_int|) (= 0 (select |v_#memory_int_393| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:17,672 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:17,698 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,699 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,700 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,701 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:17,703 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:17,715 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:17,716 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:17,716 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:17,760 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,762 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,763 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,764 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:17,767 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:17,781 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:17,781 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:17,781 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:17,787 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:17,787 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_395|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_395| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_395| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (select |v_#memory_int_395| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_395| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:17,787 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:17,828 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,829 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,831 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,832 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:17,834 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:17,846 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:17,847 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:17,847 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:17,855 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:17,855 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_396|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_396| ULTIMATE.start_main_p3))) (and (= 1 .cse0) (= (select |v_#memory_int_396| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_396| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_396| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:17,855 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:17,892 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,894 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,895 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:17,896 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:17,898 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:17,910 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:17,922 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:17,922 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:18,023 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:18,023 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_397|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_397| ULTIMATE.start_main_p3))) (and (= 2 .cse0) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_397| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:18,024 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3)) [2019-05-15 10:35:18,066 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:18,067 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:18,068 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:18,069 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:18,072 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:18,084 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:18,085 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:18,086 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:18,090 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:18,090 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_398|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_398| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_398| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_398| ULTIMATE.start_main_p2)) (= 3 (select |v_#memory_int_398| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:35:18,090 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3)) [2019-05-15 10:35:18,112 INFO L273 TraceCheckUtils]: 0: Hoare triple {12639#true} havoc main_p1, main_p2, main_p3; {12639#true} is VALID [2019-05-15 10:35:18,113 INFO L273 TraceCheckUtils]: 1: Hoare triple {12639#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {12639#true} is VALID [2019-05-15 10:35:18,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {12639#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {12639#true} is VALID [2019-05-15 10:35:18,113 INFO L273 TraceCheckUtils]: 3: Hoare triple {12639#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {12639#true} is VALID [2019-05-15 10:35:18,114 INFO L273 TraceCheckUtils]: 4: Hoare triple {12639#true} assume main_p1 < main_p2; {12656#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:18,114 INFO L273 TraceCheckUtils]: 5: Hoare triple {12656#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {12660#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:18,116 INFO L273 TraceCheckUtils]: 6: Hoare triple {12660#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {12664#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:18,116 INFO L273 TraceCheckUtils]: 7: Hoare triple {12664#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {12668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:18,118 INFO L273 TraceCheckUtils]: 8: Hoare triple {12668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {12672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:18,119 INFO L273 TraceCheckUtils]: 9: Hoare triple {12672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12676#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:18,121 INFO L273 TraceCheckUtils]: 10: Hoare triple {12676#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12680#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:18,123 INFO L273 TraceCheckUtils]: 11: Hoare triple {12680#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12684#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} is VALID [2019-05-15 10:35:18,125 INFO L273 TraceCheckUtils]: 12: Hoare triple {12684#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12688#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} is VALID [2019-05-15 10:35:18,126 INFO L273 TraceCheckUtils]: 13: Hoare triple {12688#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} assume !(#memory_int[main_p1] >= 0); {12640#false} is VALID [2019-05-15 10:35:18,127 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:18,128 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:18,128 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:18,128 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:18,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:18,129 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:18,150 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:18,150 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:18,150 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:18,151 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:18,151 INFO L87 Difference]: Start difference. First operand 27 states and 56 transitions. Second operand 11 states. [2019-05-15 10:35:19,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:19,324 INFO L93 Difference]: Finished difference Result 45 states and 75 transitions. [2019-05-15 10:35:19,324 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:19,324 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:19,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:19,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:19,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:35:19,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:19,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2019-05-15 10:35:19,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2019-05-15 10:35:19,419 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:19,420 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:35:19,420 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:35:19,421 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:35:19,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:35:19,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 28. [2019-05-15 10:35:19,422 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:19,422 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 28 states. [2019-05-15 10:35:19,422 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 28 states. [2019-05-15 10:35:19,422 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 28 states. [2019-05-15 10:35:19,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:19,423 INFO L93 Difference]: Finished difference Result 43 states and 73 transitions. [2019-05-15 10:35:19,423 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 73 transitions. [2019-05-15 10:35:19,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:19,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:19,423 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 43 states. [2019-05-15 10:35:19,423 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 43 states. [2019-05-15 10:35:19,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:19,424 INFO L93 Difference]: Finished difference Result 43 states and 73 transitions. [2019-05-15 10:35:19,424 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 73 transitions. [2019-05-15 10:35:19,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:19,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:19,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:19,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:19,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:35:19,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:35:19,426 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:35:19,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:19,426 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:35:19,426 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:19,426 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:35:19,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:19,426 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:19,426 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:19,427 INFO L418 AbstractCegarLoop]: === Iteration 65 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:19,427 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:19,427 INFO L82 PathProgramCache]: Analyzing trace with hash -1119332208, now seen corresponding path program 25 times [2019-05-15 10:35:19,427 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:19,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:19,431 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:19,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:19,434 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:19,462 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:35:19,462 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,470 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:19,470 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,471 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:19,474 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:19,474 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_399|]. (and (= (store |v_#memory_int_399| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:19,474 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:19,497 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,498 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:19,499 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,509 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:19,509 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,509 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:19,543 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,544 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,546 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,547 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:19,567 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,577 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:19,577 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,577 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:19,627 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,628 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,628 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,629 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:19,631 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,640 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:19,641 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,641 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:19,657 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:19,657 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_402|]. (let ((.cse0 (select |v_#memory_int_402| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_402| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_402| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_402| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:19,658 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:19,693 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,694 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,696 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,697 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:19,699 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,711 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:19,711 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:19,712 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:19,730 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:19,730 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_403|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_403| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_403| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_403| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 1) (= 0 (select |v_#memory_int_403| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:19,730 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:19,837 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,838 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,839 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,840 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:19,842 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,854 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:19,855 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:19,855 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:19,865 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:19,866 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_404|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_404| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_404| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= (select |v_#memory_int_404| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p2)))) [2019-05-15 10:35:19,866 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:19,904 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,905 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,906 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:19,907 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:19,910 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:19,921 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:19,921 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:19,922 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:35:19,927 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:19,927 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_405|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_405| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_405| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_405| ULTIMATE.start_main_p3) 2) (= 1 (select |v_#memory_int_405| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:19,927 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:19,949 INFO L273 TraceCheckUtils]: 0: Hoare triple {12862#true} havoc main_p1, main_p2, main_p3; {12862#true} is VALID [2019-05-15 10:35:19,949 INFO L273 TraceCheckUtils]: 1: Hoare triple {12862#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {12862#true} is VALID [2019-05-15 10:35:19,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {12862#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {12862#true} is VALID [2019-05-15 10:35:19,950 INFO L273 TraceCheckUtils]: 3: Hoare triple {12862#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {12862#true} is VALID [2019-05-15 10:35:19,950 INFO L273 TraceCheckUtils]: 4: Hoare triple {12862#true} assume main_p1 < main_p2; {12879#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:19,951 INFO L273 TraceCheckUtils]: 5: Hoare triple {12879#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {12883#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:19,952 INFO L273 TraceCheckUtils]: 6: Hoare triple {12883#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {12887#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:19,952 INFO L273 TraceCheckUtils]: 7: Hoare triple {12887#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {12891#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:19,953 INFO L273 TraceCheckUtils]: 8: Hoare triple {12891#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {12895#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:19,954 INFO L273 TraceCheckUtils]: 9: Hoare triple {12895#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12899#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:19,956 INFO L273 TraceCheckUtils]: 10: Hoare triple {12899#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12903#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:19,957 INFO L273 TraceCheckUtils]: 11: Hoare triple {12903#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12907#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:19,959 INFO L273 TraceCheckUtils]: 12: Hoare triple {12907#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12911#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:19,960 INFO L273 TraceCheckUtils]: 13: Hoare triple {12911#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {12863#false} is VALID [2019-05-15 10:35:19,961 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:19,962 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:19,962 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:19,962 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:19,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:19,962 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:19,981 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:19,981 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:19,981 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:19,981 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:19,982 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:35:20,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:20,815 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:35:20,816 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:20,816 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:20,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:20,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:20,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:35:20,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:20,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:35:20,817 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:35:21,515 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:21,516 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:35:21,516 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:35:21,516 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:35:21,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:35:21,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 29. [2019-05-15 10:35:21,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:21,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 29 states. [2019-05-15 10:35:21,517 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 29 states. [2019-05-15 10:35:21,518 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 29 states. [2019-05-15 10:35:21,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:21,518 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:35:21,519 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:35:21,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:21,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:21,519 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 44 states. [2019-05-15 10:35:21,519 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 44 states. [2019-05-15 10:35:21,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:21,520 INFO L93 Difference]: Finished difference Result 44 states and 77 transitions. [2019-05-15 10:35:21,520 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 77 transitions. [2019-05-15 10:35:21,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:21,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:21,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:21,521 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:21,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:35:21,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 63 transitions. [2019-05-15 10:35:21,521 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 63 transitions. Word has length 14 [2019-05-15 10:35:21,521 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:21,522 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 63 transitions. [2019-05-15 10:35:21,522 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:21,522 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 63 transitions. [2019-05-15 10:35:21,522 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:21,522 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:21,522 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:21,522 INFO L418 AbstractCegarLoop]: === Iteration 66 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:21,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:21,523 INFO L82 PathProgramCache]: Analyzing trace with hash -1119332146, now seen corresponding path program 10 times [2019-05-15 10:35:21,524 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:21,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:21,527 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:21,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:21,546 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:21,679 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:35:21,679 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:21,724 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:21,724 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:21,724 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:21,728 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:21,728 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_406|]. (and (= (store |v_#memory_int_406| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:21,728 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:21,755 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,755 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:21,756 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:21,766 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:21,767 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:21,767 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:21,771 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:21,771 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_407|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_407| ULTIMATE.start_main_p2 0) |#memory_int|) (= (select |v_#memory_int_407| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:21,771 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:21,801 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,803 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,804 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,805 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:21,806 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:21,818 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:21,819 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:21,819 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:21,887 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,888 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,890 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,891 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:21,893 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:21,904 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:21,905 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:21,905 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:21,910 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:21,910 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_409|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_409| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_409| ULTIMATE.start_main_p2)) (= .cse0 0) (= (store |v_#memory_int_409| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_409| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:21,910 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:21,947 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,948 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,950 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:21,951 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:21,960 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:21,971 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:21,971 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:21,972 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:21,981 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:21,981 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_410|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_410| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_410| ULTIMATE.start_main_p2) 0) (= 1 .cse0) (= (store |v_#memory_int_410| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_410| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:21,981 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:22,021 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:22,022 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:22,024 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:22,025 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:22,071 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:22,165 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:22,166 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:22,166 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:22,171 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:22,171 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_411|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_411| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_411| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_411| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_411| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0))) [2019-05-15 10:35:22,171 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:22,211 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:22,212 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:22,213 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:22,214 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:22,217 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:22,229 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:22,231 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:22,231 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:23,121 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:23,121 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_412|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_412| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_412| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_412| ULTIMATE.start_main_p2)) (= 2 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_412| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:35:23,121 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3)) [2019-05-15 10:35:23,146 INFO L273 TraceCheckUtils]: 0: Hoare triple {13081#true} havoc main_p1, main_p2, main_p3; {13081#true} is VALID [2019-05-15 10:35:23,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {13081#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {13081#true} is VALID [2019-05-15 10:35:23,147 INFO L273 TraceCheckUtils]: 2: Hoare triple {13081#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {13081#true} is VALID [2019-05-15 10:35:23,147 INFO L273 TraceCheckUtils]: 3: Hoare triple {13081#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {13081#true} is VALID [2019-05-15 10:35:23,148 INFO L273 TraceCheckUtils]: 4: Hoare triple {13081#true} assume main_p1 < main_p2; {13098#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:23,148 INFO L273 TraceCheckUtils]: 5: Hoare triple {13098#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {13102#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:23,149 INFO L273 TraceCheckUtils]: 6: Hoare triple {13102#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {13106#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:23,150 INFO L273 TraceCheckUtils]: 7: Hoare triple {13106#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {13110#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:23,151 INFO L273 TraceCheckUtils]: 8: Hoare triple {13110#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {13114#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:23,153 INFO L273 TraceCheckUtils]: 9: Hoare triple {13114#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13118#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:23,155 INFO L273 TraceCheckUtils]: 10: Hoare triple {13118#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13122#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:23,156 INFO L273 TraceCheckUtils]: 11: Hoare triple {13122#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13126#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:23,158 INFO L273 TraceCheckUtils]: 12: Hoare triple {13126#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13130#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} is VALID [2019-05-15 10:35:23,159 INFO L273 TraceCheckUtils]: 13: Hoare triple {13130#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} assume !(#memory_int[main_p1] >= 0); {13082#false} is VALID [2019-05-15 10:35:23,161 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:23,161 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:23,161 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:23,161 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:23,161 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:23,162 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:23,183 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:23,183 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:23,183 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:23,183 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:23,184 INFO L87 Difference]: Start difference. First operand 29 states and 63 transitions. Second operand 11 states. [2019-05-15 10:35:24,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:24,128 INFO L93 Difference]: Finished difference Result 43 states and 76 transitions. [2019-05-15 10:35:24,128 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:24,128 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:24,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:24,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:24,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:35:24,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:24,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:35:24,130 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:35:24,214 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:24,215 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:35:24,215 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:35:24,216 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=65, Invalid=207, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:35:24,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:35:24,217 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 29. [2019-05-15 10:35:24,217 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:24,217 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 29 states. [2019-05-15 10:35:24,217 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 29 states. [2019-05-15 10:35:24,218 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 29 states. [2019-05-15 10:35:24,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:24,219 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:35:24,219 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:35:24,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:24,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:24,219 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 41 states. [2019-05-15 10:35:24,219 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 41 states. [2019-05-15 10:35:24,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:24,220 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:35:24,220 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:35:24,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:24,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:24,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:24,221 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:24,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:35:24,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:35:24,222 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:35:24,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:24,222 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:35:24,222 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:24,222 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:35:24,222 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:24,222 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:24,223 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:24,223 INFO L418 AbstractCegarLoop]: === Iteration 67 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:24,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:24,223 INFO L82 PathProgramCache]: Analyzing trace with hash -1119332332, now seen corresponding path program 11 times [2019-05-15 10:35:24,224 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:24,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:24,227 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:24,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:24,237 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:24,264 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:35:24,264 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,272 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:24,272 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,272 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:24,276 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:24,276 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_413|]. (and (= (store |v_#memory_int_413| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,276 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,302 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,303 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:24,304 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,313 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:24,314 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:24,314 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:24,318 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:24,318 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_414|, ULTIMATE.start_main_p2]. (and (= (select |v_#memory_int_414| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_414| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,318 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,344 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,345 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,347 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,348 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:24,349 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,361 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:24,362 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:24,362 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:24,397 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,398 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,399 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,400 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:24,402 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,414 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:24,415 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:24,415 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:24,419 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:24,419 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_416|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_416| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_416| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_416| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (store |v_#memory_int_416| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:24,420 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,456 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,457 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,458 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,459 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:24,461 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,473 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:24,474 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:24,474 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:24,479 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:24,479 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_417|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_417| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_417| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_417| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_417| ULTIMATE.start_main_p1) 0))) [2019-05-15 10:35:24,479 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,520 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,521 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,523 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,523 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:24,525 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,538 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:24,538 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:24,538 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:24,543 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:24,544 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_418|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_418| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_418| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_418| ULTIMATE.start_main_p2) 0))) [2019-05-15 10:35:24,544 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,580 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,581 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,582 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:24,583 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:24,585 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:24,597 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:24,598 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:24,598 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:24,604 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:24,604 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_419|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_419| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_419| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_419| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_419| ULTIMATE.start_main_p3) 2) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:24,604 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:24,627 INFO L273 TraceCheckUtils]: 0: Hoare triple {13299#true} havoc main_p1, main_p2, main_p3; {13299#true} is VALID [2019-05-15 10:35:24,627 INFO L273 TraceCheckUtils]: 1: Hoare triple {13299#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {13299#true} is VALID [2019-05-15 10:35:24,628 INFO L273 TraceCheckUtils]: 2: Hoare triple {13299#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {13299#true} is VALID [2019-05-15 10:35:24,628 INFO L273 TraceCheckUtils]: 3: Hoare triple {13299#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {13299#true} is VALID [2019-05-15 10:35:24,628 INFO L273 TraceCheckUtils]: 4: Hoare triple {13299#true} assume main_p1 < main_p2; {13316#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:24,629 INFO L273 TraceCheckUtils]: 5: Hoare triple {13316#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {13320#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:24,630 INFO L273 TraceCheckUtils]: 6: Hoare triple {13320#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {13324#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:24,631 INFO L273 TraceCheckUtils]: 7: Hoare triple {13324#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {13328#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:24,633 INFO L273 TraceCheckUtils]: 8: Hoare triple {13328#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {13332#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:24,635 INFO L273 TraceCheckUtils]: 9: Hoare triple {13332#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13336#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:24,637 INFO L273 TraceCheckUtils]: 10: Hoare triple {13336#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13340#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:24,638 INFO L273 TraceCheckUtils]: 11: Hoare triple {13340#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13344#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:24,640 INFO L273 TraceCheckUtils]: 12: Hoare triple {13344#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13348#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:35:24,640 INFO L273 TraceCheckUtils]: 13: Hoare triple {13348#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {13300#false} is VALID [2019-05-15 10:35:24,641 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:24,641 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:24,641 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:24,642 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:24,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:24,642 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:24,664 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:24,664 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:24,664 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:24,664 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:24,664 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:35:25,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:25,611 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:35:25,611 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:25,611 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:25,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:25,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:25,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:35:25,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:25,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:35:25,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:35:25,691 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:25,692 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:35:25,692 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:35:25,692 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=64, Invalid=208, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:35:25,692 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:35:25,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 28. [2019-05-15 10:35:25,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:25,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 28 states. [2019-05-15 10:35:25,693 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 28 states. [2019-05-15 10:35:25,694 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 28 states. [2019-05-15 10:35:25,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:25,694 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:35:25,694 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:35:25,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:25,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:25,695 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 41 states. [2019-05-15 10:35:25,695 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 41 states. [2019-05-15 10:35:25,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:25,695 INFO L93 Difference]: Finished difference Result 41 states and 74 transitions. [2019-05-15 10:35:25,695 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 74 transitions. [2019-05-15 10:35:25,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:25,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:25,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:25,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:25,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:35:25,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:35:25,696 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:35:25,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:25,696 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:35:25,696 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:25,696 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:35:25,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:25,697 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:25,697 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:25,697 INFO L418 AbstractCegarLoop]: === Iteration 68 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:25,697 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:25,697 INFO L82 PathProgramCache]: Analyzing trace with hash -1119507110, now seen corresponding path program 26 times [2019-05-15 10:35:25,698 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:25,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:25,701 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:25,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:25,706 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:25,739 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:35:25,739 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:25,771 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:25,771 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:25,771 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:25,774 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:25,775 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_420|]. (and (= |#memory_int| (store |v_#memory_int_420| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:25,775 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:25,802 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:25,802 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:25,803 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:25,814 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:25,814 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:25,814 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:25,851 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:25,852 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:25,853 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:25,854 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:25,856 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:25,868 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:25,868 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:25,869 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:25,910 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:25,911 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:25,912 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:25,913 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:25,916 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:25,928 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:25,928 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:25,928 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:25,968 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:25,969 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_423|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_423| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_423| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_423| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_423| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:25,969 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:26,011 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,012 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,013 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,014 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:26,017 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:26,028 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:26,028 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:26,029 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:26,040 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:26,040 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_424|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_424| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_424| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_424| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_424| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:26,040 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:26,224 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,225 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,227 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,227 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:26,230 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:26,243 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:26,243 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:26,243 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:35:26,248 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:26,249 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_425|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_425| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_425| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_425| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 1 (select |v_#memory_int_425| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:26,249 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:26,291 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,293 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,294 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:26,295 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:35:26,298 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:26,311 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:26,311 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:26,311 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:35:26,331 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:26,332 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_426|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_426| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_426| ULTIMATE.start_main_p3)) (= 1 (select |v_#memory_int_426| ULTIMATE.start_main_p1)) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_426| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:26,332 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:26,356 INFO L273 TraceCheckUtils]: 0: Hoare triple {13514#true} havoc main_p1, main_p2, main_p3; {13514#true} is VALID [2019-05-15 10:35:26,356 INFO L273 TraceCheckUtils]: 1: Hoare triple {13514#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {13514#true} is VALID [2019-05-15 10:35:26,356 INFO L273 TraceCheckUtils]: 2: Hoare triple {13514#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {13514#true} is VALID [2019-05-15 10:35:26,356 INFO L273 TraceCheckUtils]: 3: Hoare triple {13514#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {13514#true} is VALID [2019-05-15 10:35:26,357 INFO L273 TraceCheckUtils]: 4: Hoare triple {13514#true} assume main_p1 < main_p2; {13531#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:26,357 INFO L273 TraceCheckUtils]: 5: Hoare triple {13531#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {13535#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:26,358 INFO L273 TraceCheckUtils]: 6: Hoare triple {13535#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {13539#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:26,359 INFO L273 TraceCheckUtils]: 7: Hoare triple {13539#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {13543#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:26,360 INFO L273 TraceCheckUtils]: 8: Hoare triple {13543#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {13547#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:26,361 INFO L273 TraceCheckUtils]: 9: Hoare triple {13547#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13551#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:26,362 INFO L273 TraceCheckUtils]: 10: Hoare triple {13551#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13555#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:26,364 INFO L273 TraceCheckUtils]: 11: Hoare triple {13555#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13559#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:26,366 INFO L273 TraceCheckUtils]: 12: Hoare triple {13559#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13563#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:26,367 INFO L273 TraceCheckUtils]: 13: Hoare triple {13563#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {13515#false} is VALID [2019-05-15 10:35:26,368 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:26,369 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:26,369 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:26,369 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:26,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:26,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:26,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:26,390 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:26,390 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:26,390 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:26,390 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:35:27,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:27,302 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:35:27,302 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:27,302 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:27,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:27,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:27,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:35:27,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:27,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:35:27,303 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:35:27,387 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:27,388 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:35:27,388 INFO L226 Difference]: Without dead ends: 45 [2019-05-15 10:35:27,388 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=54, Invalid=156, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:35:27,389 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2019-05-15 10:35:27,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 30. [2019-05-15 10:35:27,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:27,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 30 states. [2019-05-15 10:35:27,390 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 30 states. [2019-05-15 10:35:27,390 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 30 states. [2019-05-15 10:35:27,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:27,391 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:35:27,391 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 80 transitions. [2019-05-15 10:35:27,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:27,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:27,391 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 45 states. [2019-05-15 10:35:27,391 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 45 states. [2019-05-15 10:35:27,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:27,392 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:35:27,392 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 80 transitions. [2019-05-15 10:35:27,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:27,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:27,393 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:27,393 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:27,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:35:27,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 66 transitions. [2019-05-15 10:35:27,394 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 66 transitions. Word has length 14 [2019-05-15 10:35:27,394 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:27,394 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 66 transitions. [2019-05-15 10:35:27,394 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:27,394 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 66 transitions. [2019-05-15 10:35:27,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:27,394 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:27,395 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:27,395 INFO L418 AbstractCegarLoop]: === Iteration 69 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:27,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:27,395 INFO L82 PathProgramCache]: Analyzing trace with hash -1119507048, now seen corresponding path program 27 times [2019-05-15 10:35:27,396 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:27,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:27,399 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:27,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:27,417 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:27,448 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:35:27,449 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,457 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:27,458 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,458 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:27,461 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:27,462 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_427|]. (and (= |#memory_int| (store |v_#memory_int_427| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:27,462 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:27,488 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,489 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:27,490 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,500 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:27,501 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,501 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:27,536 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,537 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,538 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,539 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:27,541 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,553 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:27,553 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,553 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:27,609 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,610 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,612 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,612 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:27,616 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,628 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:27,628 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,628 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:27,639 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:27,640 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_430|]. (let ((.cse0 (select |v_#memory_int_430| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_430| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (= 0 (select |v_#memory_int_430| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_430| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:27,640 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:27,678 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,679 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,680 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,681 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:27,684 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,695 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:27,695 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,696 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:27,711 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:27,711 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_431|]. (let ((.cse0 (select |v_#memory_int_431| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_431| ULTIMATE.start_main_p3) 1) (= 0 .cse0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_431| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:27,711 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:27,751 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,753 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,754 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:27,755 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:27,757 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:27,767 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:27,768 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:27,768 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:35:39,991 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:39,992 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_432|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_432| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_432| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (= 1 (select |v_#memory_int_432| ULTIMATE.start_main_p3)) (= 1 (select |v_#memory_int_432| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:39,992 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:40,059 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:40,061 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:40,062 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:40,063 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:35:40,065 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:40,077 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:40,079 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:40,079 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:35:40,085 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:40,085 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_433|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_433| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_433| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_433| ULTIMATE.start_main_p1) 1) (= (+ (select |v_#memory_int_433| ULTIMATE.start_main_p2) 1) 0) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:40,086 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:35:40,109 INFO L273 TraceCheckUtils]: 0: Hoare triple {13739#true} havoc main_p1, main_p2, main_p3; {13739#true} is VALID [2019-05-15 10:35:40,110 INFO L273 TraceCheckUtils]: 1: Hoare triple {13739#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {13739#true} is VALID [2019-05-15 10:35:40,110 INFO L273 TraceCheckUtils]: 2: Hoare triple {13739#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {13739#true} is VALID [2019-05-15 10:35:40,110 INFO L273 TraceCheckUtils]: 3: Hoare triple {13739#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {13739#true} is VALID [2019-05-15 10:35:40,111 INFO L273 TraceCheckUtils]: 4: Hoare triple {13739#true} assume main_p1 < main_p2; {13756#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:40,113 INFO L273 TraceCheckUtils]: 5: Hoare triple {13756#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {13760#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:40,114 INFO L273 TraceCheckUtils]: 6: Hoare triple {13760#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {13764#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:40,114 INFO L273 TraceCheckUtils]: 7: Hoare triple {13764#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {13768#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:40,115 INFO L273 TraceCheckUtils]: 8: Hoare triple {13768#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {13772#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:40,116 INFO L273 TraceCheckUtils]: 9: Hoare triple {13772#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13776#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:40,117 INFO L273 TraceCheckUtils]: 10: Hoare triple {13776#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13780#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:40,118 INFO L273 TraceCheckUtils]: 11: Hoare triple {13780#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13784#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:35:40,120 INFO L273 TraceCheckUtils]: 12: Hoare triple {13784#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13788#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:35:40,121 INFO L273 TraceCheckUtils]: 13: Hoare triple {13788#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {13740#false} is VALID [2019-05-15 10:35:40,122 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:40,122 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:40,123 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:40,123 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:40,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:40,123 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:40,141 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:40,141 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:40,141 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:40,141 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:40,142 INFO L87 Difference]: Start difference. First operand 30 states and 66 transitions. Second operand 11 states. [2019-05-15 10:35:40,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:40,945 INFO L93 Difference]: Finished difference Result 44 states and 79 transitions. [2019-05-15 10:35:40,945 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:40,946 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:40,946 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:40,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:40,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:35:40,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:40,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:35:40,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:35:41,030 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:41,031 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:35:41,031 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:35:41,031 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:35:41,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:35:41,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 30. [2019-05-15 10:35:41,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:41,033 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 30 states. [2019-05-15 10:35:41,033 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 30 states. [2019-05-15 10:35:41,033 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 30 states. [2019-05-15 10:35:41,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:41,034 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:41,034 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:41,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:41,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:41,034 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 42 states. [2019-05-15 10:35:41,034 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 42 states. [2019-05-15 10:35:41,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:41,035 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:41,035 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:41,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:41,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:41,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:41,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:41,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:35:41,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:35:41,036 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:35:41,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:41,037 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:35:41,037 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:41,037 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:35:41,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:41,037 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:41,037 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:41,038 INFO L418 AbstractCegarLoop]: === Iteration 70 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:41,038 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:41,038 INFO L82 PathProgramCache]: Analyzing trace with hash -1119507234, now seen corresponding path program 28 times [2019-05-15 10:35:41,038 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:41,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:41,041 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:41,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:41,061 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:41,095 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:35:41,095 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,103 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:41,104 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,104 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:41,107 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:41,108 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_434|]. (and (= (store |v_#memory_int_434| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:41,108 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:41,135 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,136 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:41,137 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,147 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:41,147 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,147 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:41,182 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,183 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,184 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,185 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:41,187 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,199 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:41,199 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,200 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:41,242 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,243 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,244 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,245 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:41,248 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,260 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:41,261 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:41,261 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:41,284 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:41,285 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_437|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_437| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_437| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (select |v_#memory_int_437| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_437| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:41,285 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:41,342 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,343 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,345 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,346 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:41,348 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,363 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:41,363 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:41,364 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:41,377 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:41,378 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_438|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_438| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p2)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_438| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_438| ULTIMATE.start_main_p3)))) [2019-05-15 10:35:41,378 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:41,435 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,437 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,438 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:41,439 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:41,442 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:41,452 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:41,453 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:41,453 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:35:41,976 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:41,977 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_439|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_439| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_439| ULTIMATE.start_main_p1)) (= .cse0 0) (= 1 (select |v_#memory_int_439| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_439| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:41,977 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:42,028 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:42,030 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:42,031 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:42,032 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:35:42,034 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:42,047 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:42,050 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:42,051 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:35:42,064 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:42,065 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_440|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_440| ULTIMATE.start_main_p1))) (and (= 1 .cse0) (= 1 (select |v_#memory_int_440| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_440| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_440| ULTIMATE.start_main_p2) 1) 0))) [2019-05-15 10:35:42,065 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:35:42,086 INFO L273 TraceCheckUtils]: 0: Hoare triple {13953#true} havoc main_p1, main_p2, main_p3; {13953#true} is VALID [2019-05-15 10:35:42,086 INFO L273 TraceCheckUtils]: 1: Hoare triple {13953#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {13953#true} is VALID [2019-05-15 10:35:42,087 INFO L273 TraceCheckUtils]: 2: Hoare triple {13953#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {13953#true} is VALID [2019-05-15 10:35:42,087 INFO L273 TraceCheckUtils]: 3: Hoare triple {13953#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {13953#true} is VALID [2019-05-15 10:35:42,087 INFO L273 TraceCheckUtils]: 4: Hoare triple {13953#true} assume main_p1 < main_p2; {13970#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:42,088 INFO L273 TraceCheckUtils]: 5: Hoare triple {13970#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {13974#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:42,089 INFO L273 TraceCheckUtils]: 6: Hoare triple {13974#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {13978#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:42,089 INFO L273 TraceCheckUtils]: 7: Hoare triple {13978#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {13982#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:42,090 INFO L273 TraceCheckUtils]: 8: Hoare triple {13982#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {13986#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:42,091 INFO L273 TraceCheckUtils]: 9: Hoare triple {13986#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13990#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:42,093 INFO L273 TraceCheckUtils]: 10: Hoare triple {13990#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13994#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:42,095 INFO L273 TraceCheckUtils]: 11: Hoare triple {13994#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:42,097 INFO L273 TraceCheckUtils]: 12: Hoare triple {13998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14002#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:35:42,098 INFO L273 TraceCheckUtils]: 13: Hoare triple {14002#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {13954#false} is VALID [2019-05-15 10:35:42,099 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:42,099 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:42,100 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:42,100 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:42,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:42,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:42,121 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:42,121 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:42,122 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:42,122 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:42,122 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:35:43,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:43,099 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:43,099 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:43,100 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:43,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:43,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:43,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:35:43,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:43,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:35:43,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:35:43,175 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:43,176 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:35:43,176 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:35:43,177 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:35:43,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:35:43,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 29. [2019-05-15 10:35:43,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:43,179 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 29 states. [2019-05-15 10:35:43,179 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 29 states. [2019-05-15 10:35:43,179 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 29 states. [2019-05-15 10:35:43,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:43,179 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:43,179 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:43,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:43,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:43,180 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 42 states. [2019-05-15 10:35:43,180 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 42 states. [2019-05-15 10:35:43,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:43,180 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:43,181 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:43,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:43,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:43,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:43,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:43,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:35:43,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:35:43,181 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:35:43,182 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:43,182 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:35:43,182 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:43,182 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:35:43,182 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:43,182 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:43,182 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:43,182 INFO L418 AbstractCegarLoop]: === Iteration 71 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:43,182 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:43,182 INFO L82 PathProgramCache]: Analyzing trace with hash -1119505188, now seen corresponding path program 29 times [2019-05-15 10:35:43,183 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:43,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:43,186 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:43,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:43,194 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:43,222 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:35:43,222 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,230 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:43,231 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,231 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:43,234 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:43,234 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_441|]. (and (= (store |v_#memory_int_441| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:43,235 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:43,261 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,262 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:43,263 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,273 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:43,273 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,273 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:43,305 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,307 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,308 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,309 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:43,310 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,323 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:43,323 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,323 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:43,364 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,365 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,366 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,367 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:43,369 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,382 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:43,382 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,382 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:43,395 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:43,395 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_444|]. (let ((.cse0 (select |v_#memory_int_444| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_444| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_444| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (= (select |v_#memory_int_444| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:43,395 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:43,434 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,435 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,436 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,437 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:43,440 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,450 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:43,450 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,451 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:43,464 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:43,465 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_445|]. (let ((.cse0 (select |v_#memory_int_445| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_445| ULTIMATE.start_main_p3)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_445| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_445| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:43,465 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:43,505 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,507 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,508 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,509 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:43,511 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,522 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:43,522 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:43,523 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:43,541 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:43,541 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_446|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_446| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_446| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_446| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_446| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:43,541 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:43,583 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,584 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,585 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:43,586 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:43,588 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:43,601 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:43,602 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:43,602 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:35:43,608 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:43,609 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_447|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_447| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_447| ULTIMATE.start_main_p3) 2) (= .cse0 0) (= (select |v_#memory_int_447| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_447| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:43,609 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:43,633 INFO L273 TraceCheckUtils]: 0: Hoare triple {14168#true} havoc main_p1, main_p2, main_p3; {14168#true} is VALID [2019-05-15 10:35:43,634 INFO L273 TraceCheckUtils]: 1: Hoare triple {14168#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {14168#true} is VALID [2019-05-15 10:35:43,634 INFO L273 TraceCheckUtils]: 2: Hoare triple {14168#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {14168#true} is VALID [2019-05-15 10:35:43,634 INFO L273 TraceCheckUtils]: 3: Hoare triple {14168#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {14168#true} is VALID [2019-05-15 10:35:43,638 INFO L273 TraceCheckUtils]: 4: Hoare triple {14168#true} assume main_p1 < main_p2; {14185#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:43,638 INFO L273 TraceCheckUtils]: 5: Hoare triple {14185#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {14189#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:43,639 INFO L273 TraceCheckUtils]: 6: Hoare triple {14189#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {14193#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:43,640 INFO L273 TraceCheckUtils]: 7: Hoare triple {14193#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {14197#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:43,641 INFO L273 TraceCheckUtils]: 8: Hoare triple {14197#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {14201#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:43,642 INFO L273 TraceCheckUtils]: 9: Hoare triple {14201#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14205#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:43,644 INFO L273 TraceCheckUtils]: 10: Hoare triple {14205#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14209#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:43,645 INFO L273 TraceCheckUtils]: 11: Hoare triple {14209#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:43,647 INFO L273 TraceCheckUtils]: 12: Hoare triple {14213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:43,649 INFO L273 TraceCheckUtils]: 13: Hoare triple {14217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {14169#false} is VALID [2019-05-15 10:35:43,650 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:43,650 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:43,650 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:43,651 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:43,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:43,651 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:43,673 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:43,673 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:43,673 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:43,673 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=74, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:43,674 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:35:44,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:44,496 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:35:44,496 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:44,496 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:44,496 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:44,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:44,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:35:44,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:44,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:35:44,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:35:44,585 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:44,586 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:35:44,586 INFO L226 Difference]: Without dead ends: 45 [2019-05-15 10:35:44,586 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:35:44,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2019-05-15 10:35:44,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 30. [2019-05-15 10:35:44,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:44,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 30 states. [2019-05-15 10:35:44,588 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 30 states. [2019-05-15 10:35:44,588 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 30 states. [2019-05-15 10:35:44,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:44,589 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:35:44,589 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 80 transitions. [2019-05-15 10:35:44,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:44,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:44,590 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 45 states. [2019-05-15 10:35:44,590 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 45 states. [2019-05-15 10:35:44,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:44,591 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:35:44,591 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 80 transitions. [2019-05-15 10:35:44,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:44,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:44,591 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:44,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:44,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:35:44,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 66 transitions. [2019-05-15 10:35:44,592 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 66 transitions. Word has length 14 [2019-05-15 10:35:44,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:44,593 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 66 transitions. [2019-05-15 10:35:44,593 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:44,593 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 66 transitions. [2019-05-15 10:35:44,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:44,593 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:44,593 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:44,594 INFO L418 AbstractCegarLoop]: === Iteration 72 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:44,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:44,594 INFO L82 PathProgramCache]: Analyzing trace with hash -1119505126, now seen corresponding path program 12 times [2019-05-15 10:35:44,595 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:44,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:44,599 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:44,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:44,617 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:45,168 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:35:45,169 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,178 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:45,178 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,178 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:45,182 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:45,182 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_448|]. (and (= (store |v_#memory_int_448| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:45,182 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:45,212 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,213 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:45,214 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,225 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:45,226 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:45,226 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:45,230 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:45,230 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_449|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_449| ULTIMATE.start_main_p2 0) |#memory_int|) (= (select |v_#memory_int_449| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:45,231 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:45,265 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,266 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,268 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,269 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:45,270 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,281 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:45,282 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:45,282 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:45,329 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,331 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,332 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,333 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:45,336 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,348 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:45,349 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:45,349 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:45,353 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:45,353 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_451|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_451| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_451| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_451| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:35:45,354 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:45,396 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,398 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,400 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,401 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:45,403 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,416 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:45,416 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:45,417 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:45,422 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:45,422 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_452|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_452| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_452| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_452| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= 1 (select |v_#memory_int_452| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:45,422 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:45,463 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,465 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,466 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,467 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:45,470 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,488 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:45,489 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:45,489 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:45,499 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:45,500 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_453|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_453| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_453| ULTIMATE.start_main_p1) 1) (= .cse0 1) (= 0 (select |v_#memory_int_453| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_453| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:35:45,500 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:45,541 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,542 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,544 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:45,545 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:45,547 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:45,559 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:45,560 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:45,561 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:45,645 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:45,645 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_454|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_454| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_454| ULTIMATE.start_main_p2) 0) (= 2 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_454| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 1 (select |v_#memory_int_454| ULTIMATE.start_main_p1)))) [2019-05-15 10:35:45,645 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3)) [2019-05-15 10:35:45,673 INFO L273 TraceCheckUtils]: 0: Hoare triple {14389#true} havoc main_p1, main_p2, main_p3; {14389#true} is VALID [2019-05-15 10:35:45,674 INFO L273 TraceCheckUtils]: 1: Hoare triple {14389#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {14389#true} is VALID [2019-05-15 10:35:45,674 INFO L273 TraceCheckUtils]: 2: Hoare triple {14389#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {14389#true} is VALID [2019-05-15 10:35:45,674 INFO L273 TraceCheckUtils]: 3: Hoare triple {14389#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {14389#true} is VALID [2019-05-15 10:35:45,675 INFO L273 TraceCheckUtils]: 4: Hoare triple {14389#true} assume main_p1 < main_p2; {14406#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:45,676 INFO L273 TraceCheckUtils]: 5: Hoare triple {14406#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {14410#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:45,676 INFO L273 TraceCheckUtils]: 6: Hoare triple {14410#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {14414#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:45,677 INFO L273 TraceCheckUtils]: 7: Hoare triple {14414#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {14418#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:45,679 INFO L273 TraceCheckUtils]: 8: Hoare triple {14418#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {14422#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:45,681 INFO L273 TraceCheckUtils]: 9: Hoare triple {14422#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14426#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:45,683 INFO L273 TraceCheckUtils]: 10: Hoare triple {14426#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14430#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:45,685 INFO L273 TraceCheckUtils]: 11: Hoare triple {14430#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14434#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:45,687 INFO L273 TraceCheckUtils]: 12: Hoare triple {14434#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14438#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} is VALID [2019-05-15 10:35:45,688 INFO L273 TraceCheckUtils]: 13: Hoare triple {14438#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} assume !(#memory_int[main_p1] >= 0); {14390#false} is VALID [2019-05-15 10:35:45,689 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:45,689 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:45,689 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:45,689 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:45,689 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:45,690 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:45,709 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:45,710 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:45,710 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:45,710 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:45,710 INFO L87 Difference]: Start difference. First operand 30 states and 66 transitions. Second operand 11 states. [2019-05-15 10:35:46,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:46,650 INFO L93 Difference]: Finished difference Result 44 states and 79 transitions. [2019-05-15 10:35:46,650 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:46,651 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:46,651 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:46,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:46,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:35:46,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:46,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:35:46,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:35:46,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:46,735 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:35:46,735 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:35:46,735 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=61, Invalid=211, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:35:46,735 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:35:46,736 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 30. [2019-05-15 10:35:46,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:46,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 30 states. [2019-05-15 10:35:46,736 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 30 states. [2019-05-15 10:35:46,737 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 30 states. [2019-05-15 10:35:46,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:46,737 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:46,737 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:46,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:46,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:46,738 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 42 states. [2019-05-15 10:35:46,738 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 42 states. [2019-05-15 10:35:46,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:46,739 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:46,739 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:46,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:46,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:46,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:46,740 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:46,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:35:46,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:35:46,740 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:35:46,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:46,741 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:35:46,741 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:46,741 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:35:46,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:46,741 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:46,741 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:46,741 INFO L418 AbstractCegarLoop]: === Iteration 73 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:46,741 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:46,742 INFO L82 PathProgramCache]: Analyzing trace with hash -1119505312, now seen corresponding path program 13 times [2019-05-15 10:35:46,742 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:46,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:46,746 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:46,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:46,751 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:46,780 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:35:46,781 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:46,788 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:46,788 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:46,789 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:46,792 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:46,792 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_455|]. (and (= (store |v_#memory_int_455| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:46,792 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:46,817 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,818 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:46,819 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:46,828 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:46,829 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:46,829 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:46,833 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:46,833 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_456|, ULTIMATE.start_main_p2]. (and (= (select |v_#memory_int_456| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_456| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:46,833 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:46,875 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,876 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,877 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,878 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:46,879 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:46,890 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:46,890 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:46,890 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:46,927 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,928 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,930 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,930 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:46,932 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:46,945 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:46,945 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:46,945 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:46,950 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:46,950 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_458|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_458| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_458| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:46,951 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:46,986 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,987 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,989 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:46,989 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:46,992 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:47,002 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:47,003 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:47,003 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:47,008 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:47,008 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_459|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_459| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_459| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_459| ULTIMATE.start_main_p3) 1) (= (store |v_#memory_int_459| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:47,008 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:47,045 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:47,046 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:47,047 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:47,048 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:47,050 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:47,061 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:47,062 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:47,062 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:47,068 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:47,069 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_460|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_460| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_460| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_460| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_460| ULTIMATE.start_main_p1)))) [2019-05-15 10:35:47,069 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:47,107 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:47,109 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:47,111 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:47,112 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:47,113 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:47,126 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:47,126 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:47,127 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:35:47,133 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:47,133 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_461|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_461| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_461| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 1) (= 0 (select |v_#memory_int_461| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_461| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:35:47,133 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:47,157 INFO L273 TraceCheckUtils]: 0: Hoare triple {14611#true} havoc main_p1, main_p2, main_p3; {14611#true} is VALID [2019-05-15 10:35:47,157 INFO L273 TraceCheckUtils]: 1: Hoare triple {14611#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {14611#true} is VALID [2019-05-15 10:35:47,157 INFO L273 TraceCheckUtils]: 2: Hoare triple {14611#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {14611#true} is VALID [2019-05-15 10:35:47,157 INFO L273 TraceCheckUtils]: 3: Hoare triple {14611#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {14611#true} is VALID [2019-05-15 10:35:47,158 INFO L273 TraceCheckUtils]: 4: Hoare triple {14611#true} assume main_p1 < main_p2; {14628#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:35:47,162 INFO L273 TraceCheckUtils]: 5: Hoare triple {14628#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {14632#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:47,162 INFO L273 TraceCheckUtils]: 6: Hoare triple {14632#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {14636#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:35:47,163 INFO L273 TraceCheckUtils]: 7: Hoare triple {14636#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {14640#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:47,165 INFO L273 TraceCheckUtils]: 8: Hoare triple {14640#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {14644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:47,166 INFO L273 TraceCheckUtils]: 9: Hoare triple {14644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:47,168 INFO L273 TraceCheckUtils]: 10: Hoare triple {14648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14652#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:47,170 INFO L273 TraceCheckUtils]: 11: Hoare triple {14652#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14656#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:35:47,172 INFO L273 TraceCheckUtils]: 12: Hoare triple {14656#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14660#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:35:47,173 INFO L273 TraceCheckUtils]: 13: Hoare triple {14660#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {14612#false} is VALID [2019-05-15 10:35:47,174 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:35:47,174 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:35:47,174 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:35:47,174 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:47,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:35:47,174 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:35:47,194 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:47,194 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:35:47,195 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:35:47,195 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:35:47,195 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:35:48,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:48,079 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:48,079 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:35:48,080 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:35:48,080 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:35:48,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:48,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:35:48,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:35:48,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:35:48,081 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:35:48,162 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:35:48,163 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:35:48,163 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:35:48,163 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=211, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:35:48,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:35:48,164 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 29. [2019-05-15 10:35:48,164 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:35:48,164 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 29 states. [2019-05-15 10:35:48,164 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 29 states. [2019-05-15 10:35:48,164 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 29 states. [2019-05-15 10:35:48,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:48,165 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:48,165 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:48,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:48,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:48,165 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 42 states. [2019-05-15 10:35:48,166 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 42 states. [2019-05-15 10:35:48,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:35:48,166 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:35:48,166 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:35:48,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:35:48,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:35:48,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:35:48,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:35:48,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:35:48,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:35:48,167 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:35:48,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:35:48,167 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:35:48,167 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:35:48,167 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:35:48,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:35:48,168 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:35:48,168 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:35:48,168 INFO L418 AbstractCegarLoop]: === Iteration 74 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:35:48,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:35:48,168 INFO L82 PathProgramCache]: Analyzing trace with hash -1119510954, now seen corresponding path program 30 times [2019-05-15 10:35:48,169 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:35:48,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:48,172 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:35:48,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:35:48,177 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:35:48,210 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:35:48,211 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:48,219 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:48,219 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:48,219 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:35:48,223 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:35:48,223 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_462|]. (and (= |#memory_int| (store |v_#memory_int_462| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:48,223 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:35:48,250 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:48,251 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:35:48,252 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:48,263 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:48,263 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:48,263 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:35:48,305 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:48,306 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:48,307 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:48,308 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:35:48,310 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:48,321 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:48,322 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:35:48,322 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:35:48,362 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:48,363 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:48,365 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:35:48,365 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:35:48,367 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:35:48,378 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:35:48,379 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:35:48,379 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:00,387 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:00,388 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_465|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_465| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_465| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_465| ULTIMATE.start_main_p2) 0))) [2019-05-15 10:36:00,388 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:00,438 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,439 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,440 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,441 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:00,443 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:00,454 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:00,455 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:00,455 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:00,469 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:00,469 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_466|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_466| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p2)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_466| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_466| ULTIMATE.start_main_p3)))) [2019-05-15 10:36:00,469 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:00,508 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,510 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,511 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,512 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:00,514 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:00,524 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:00,525 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:00,525 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:00,537 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:00,538 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_467|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_467| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_467| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 1 .cse0) (= 1 (select |v_#memory_int_467| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:00,538 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:00,575 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,577 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,578 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:00,579 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:00,581 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:00,592 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:00,592 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:00,592 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:00,599 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:00,599 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_468|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_468| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_468| ULTIMATE.start_main_p1) 2) (= (store |v_#memory_int_468| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_468| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2019-05-15 10:36:00,599 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:00,621 INFO L273 TraceCheckUtils]: 0: Hoare triple {14830#true} havoc main_p1, main_p2, main_p3; {14830#true} is VALID [2019-05-15 10:36:00,622 INFO L273 TraceCheckUtils]: 1: Hoare triple {14830#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {14830#true} is VALID [2019-05-15 10:36:00,622 INFO L273 TraceCheckUtils]: 2: Hoare triple {14830#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {14830#true} is VALID [2019-05-15 10:36:00,622 INFO L273 TraceCheckUtils]: 3: Hoare triple {14830#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {14830#true} is VALID [2019-05-15 10:36:00,623 INFO L273 TraceCheckUtils]: 4: Hoare triple {14830#true} assume main_p1 < main_p2; {14847#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:00,623 INFO L273 TraceCheckUtils]: 5: Hoare triple {14847#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {14851#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:00,624 INFO L273 TraceCheckUtils]: 6: Hoare triple {14851#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {14855#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:00,625 INFO L273 TraceCheckUtils]: 7: Hoare triple {14855#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {14859#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:00,627 INFO L273 TraceCheckUtils]: 8: Hoare triple {14859#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {14863#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:00,628 INFO L273 TraceCheckUtils]: 9: Hoare triple {14863#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14867#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:00,630 INFO L273 TraceCheckUtils]: 10: Hoare triple {14867#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14871#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:00,631 INFO L273 TraceCheckUtils]: 11: Hoare triple {14871#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14875#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:00,633 INFO L273 TraceCheckUtils]: 12: Hoare triple {14875#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14879#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:00,634 INFO L273 TraceCheckUtils]: 13: Hoare triple {14879#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {14831#false} is VALID [2019-05-15 10:36:00,635 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:00,636 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:00,636 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:00,636 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:00,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:00,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:00,656 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:00,656 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:00,656 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:00,656 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:00,656 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:36:01,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:01,534 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:36:01,534 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:01,534 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:01,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:01,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:01,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:01,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:01,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:01,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:36:01,615 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:01,615 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:36:01,616 INFO L226 Difference]: Without dead ends: 45 [2019-05-15 10:36:01,616 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=156, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:36:01,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2019-05-15 10:36:01,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 30. [2019-05-15 10:36:01,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:01,617 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 30 states. [2019-05-15 10:36:01,617 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 30 states. [2019-05-15 10:36:01,617 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 30 states. [2019-05-15 10:36:01,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:01,618 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:36:01,618 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 80 transitions. [2019-05-15 10:36:01,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:01,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:01,619 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 45 states. [2019-05-15 10:36:01,619 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 45 states. [2019-05-15 10:36:01,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:01,620 INFO L93 Difference]: Finished difference Result 45 states and 80 transitions. [2019-05-15 10:36:01,620 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 80 transitions. [2019-05-15 10:36:01,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:01,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:01,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:01,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:01,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:36:01,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 66 transitions. [2019-05-15 10:36:01,621 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 66 transitions. Word has length 14 [2019-05-15 10:36:01,621 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:01,621 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 66 transitions. [2019-05-15 10:36:01,622 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:01,622 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 66 transitions. [2019-05-15 10:36:01,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:01,622 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:01,622 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:01,622 INFO L418 AbstractCegarLoop]: === Iteration 75 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:01,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:01,622 INFO L82 PathProgramCache]: Analyzing trace with hash -1119510892, now seen corresponding path program 14 times [2019-05-15 10:36:01,623 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:01,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:01,627 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:01,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:01,630 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:01,659 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:36:01,659 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:01,665 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:01,666 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:01,666 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:01,669 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:01,669 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_469|]. (and (= (store |v_#memory_int_469| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:01,670 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:01,806 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,807 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:01,808 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:01,816 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:01,817 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:01,817 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:01,821 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:01,821 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_470|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_470| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_470| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:01,822 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:01,850 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,851 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,853 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,853 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:01,855 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:01,867 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:01,867 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:01,867 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:01,903 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,904 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,906 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,906 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:01,909 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:01,920 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:01,920 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:01,920 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:01,925 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:01,925 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_472|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_472| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_472| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_472| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_472| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:01,925 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:01,962 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,963 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,965 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:01,966 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:01,968 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:01,980 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:01,981 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:01,981 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:01,988 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:01,988 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_473|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_473| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_473| ULTIMATE.start_main_p2)) (= 1 (select |v_#memory_int_473| ULTIMATE.start_main_p3)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_473| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:01,988 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:02,029 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:02,030 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:02,031 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:02,032 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:02,034 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:02,047 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:02,047 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:02,048 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:02,059 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:02,060 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_474|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_474| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_474| ULTIMATE.start_main_p3)) (= 1 .cse0) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_474| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:36:02,060 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:02,098 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:02,099 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:02,100 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:02,101 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:02,104 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:02,116 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:02,117 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:02,117 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:06,475 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:06,475 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_475|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_475| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_475| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_475| ULTIMATE.start_main_p1) 2) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_475| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:36:06,475 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:06,506 INFO L273 TraceCheckUtils]: 0: Hoare triple {15055#true} havoc main_p1, main_p2, main_p3; {15055#true} is VALID [2019-05-15 10:36:06,506 INFO L273 TraceCheckUtils]: 1: Hoare triple {15055#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {15055#true} is VALID [2019-05-15 10:36:06,506 INFO L273 TraceCheckUtils]: 2: Hoare triple {15055#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {15055#true} is VALID [2019-05-15 10:36:06,506 INFO L273 TraceCheckUtils]: 3: Hoare triple {15055#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {15055#true} is VALID [2019-05-15 10:36:06,507 INFO L273 TraceCheckUtils]: 4: Hoare triple {15055#true} assume main_p1 < main_p2; {15072#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:06,507 INFO L273 TraceCheckUtils]: 5: Hoare triple {15072#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {15076#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:06,508 INFO L273 TraceCheckUtils]: 6: Hoare triple {15076#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {15080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:06,509 INFO L273 TraceCheckUtils]: 7: Hoare triple {15080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {15084#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:06,510 INFO L273 TraceCheckUtils]: 8: Hoare triple {15084#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {15088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:06,512 INFO L273 TraceCheckUtils]: 9: Hoare triple {15088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {15092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:06,514 INFO L273 TraceCheckUtils]: 10: Hoare triple {15092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:06,515 INFO L273 TraceCheckUtils]: 11: Hoare triple {15096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15100#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:06,518 INFO L273 TraceCheckUtils]: 12: Hoare triple {15100#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {15104#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:36:06,519 INFO L273 TraceCheckUtils]: 13: Hoare triple {15104#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {15056#false} is VALID [2019-05-15 10:36:06,520 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:06,520 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:06,520 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:06,520 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:06,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:06,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:06,542 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:06,543 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:06,543 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:06,543 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:06,543 INFO L87 Difference]: Start difference. First operand 30 states and 66 transitions. Second operand 11 states. [2019-05-15 10:36:07,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:07,782 INFO L93 Difference]: Finished difference Result 44 states and 79 transitions. [2019-05-15 10:36:07,782 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:07,782 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:07,782 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:07,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:07,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:36:07,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:07,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:36:07,783 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:36:07,870 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:07,871 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:36:07,871 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:36:07,871 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=211, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:36:07,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:36:07,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 30. [2019-05-15 10:36:07,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:07,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 30 states. [2019-05-15 10:36:07,873 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 30 states. [2019-05-15 10:36:07,873 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 30 states. [2019-05-15 10:36:07,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:07,874 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:36:07,874 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:36:07,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:07,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:07,874 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 42 states. [2019-05-15 10:36:07,874 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 42 states. [2019-05-15 10:36:07,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:07,875 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:36:07,875 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:36:07,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:07,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:07,876 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:07,876 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:07,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:36:07,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:36:07,877 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:36:07,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:07,877 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:36:07,877 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:07,877 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:36:07,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:07,877 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:07,877 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:07,878 INFO L418 AbstractCegarLoop]: === Iteration 76 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:07,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:07,878 INFO L82 PathProgramCache]: Analyzing trace with hash -1119511078, now seen corresponding path program 15 times [2019-05-15 10:36:07,879 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:07,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:07,882 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:07,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:07,902 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:07,933 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:36:07,933 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:07,941 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:07,942 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:07,942 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:07,945 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:07,945 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_476|]. (and (= (store |v_#memory_int_476| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:07,945 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:07,969 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:07,970 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:07,971 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:07,981 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:07,981 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:07,982 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:07,985 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:07,985 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_477|, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_477| ULTIMATE.start_main_p2 0)) (= (select |v_#memory_int_477| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:07,985 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:08,015 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:08,016 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:08,018 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:08,019 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:08,020 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:08,031 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:08,031 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:08,031 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:08,067 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:08,069 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:08,070 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:08,071 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:08,073 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:08,085 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:08,085 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:08,086 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:20,099 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:20,099 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_479|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_479| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_479| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= (select |v_#memory_int_479| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_479| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:20,099 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:20,153 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,155 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,156 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,157 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:20,159 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:20,170 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:20,171 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:20,171 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:20,176 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:20,177 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_480|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_480| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (store |v_#memory_int_480| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_480| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_480| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:20,177 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:20,213 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,214 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,216 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,216 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:20,218 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:20,231 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:20,231 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:20,232 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:20,239 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:20,239 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_481|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_481| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_481| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 1) (= (select |v_#memory_int_481| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_481| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:20,240 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:20,277 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,278 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,280 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:20,280 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:20,283 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:20,295 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:20,296 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:20,296 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:20,301 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:20,301 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_482|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_482| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_482| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_482| ULTIMATE.start_main_p2) 0) (= .cse0 2) (= 1 (select |v_#memory_int_482| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:20,302 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:20,324 INFO L273 TraceCheckUtils]: 0: Hoare triple {15277#true} havoc main_p1, main_p2, main_p3; {15277#true} is VALID [2019-05-15 10:36:20,324 INFO L273 TraceCheckUtils]: 1: Hoare triple {15277#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {15277#true} is VALID [2019-05-15 10:36:20,325 INFO L273 TraceCheckUtils]: 2: Hoare triple {15277#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {15277#true} is VALID [2019-05-15 10:36:20,325 INFO L273 TraceCheckUtils]: 3: Hoare triple {15277#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {15277#true} is VALID [2019-05-15 10:36:20,325 INFO L273 TraceCheckUtils]: 4: Hoare triple {15277#true} assume main_p1 < main_p2; {15294#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:20,326 INFO L273 TraceCheckUtils]: 5: Hoare triple {15294#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {15298#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:20,327 INFO L273 TraceCheckUtils]: 6: Hoare triple {15298#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {15302#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:20,328 INFO L273 TraceCheckUtils]: 7: Hoare triple {15302#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {15306#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:20,329 INFO L273 TraceCheckUtils]: 8: Hoare triple {15306#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {15310#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:20,331 INFO L273 TraceCheckUtils]: 9: Hoare triple {15310#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {15314#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:20,333 INFO L273 TraceCheckUtils]: 10: Hoare triple {15314#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15318#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:20,335 INFO L273 TraceCheckUtils]: 11: Hoare triple {15318#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15322#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:36:20,336 INFO L273 TraceCheckUtils]: 12: Hoare triple {15322#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15326#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} is VALID [2019-05-15 10:36:20,337 INFO L273 TraceCheckUtils]: 13: Hoare triple {15326#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} assume !(#memory_int[main_p1] >= 0); {15278#false} is VALID [2019-05-15 10:36:20,337 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:20,338 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:20,338 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:20,338 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:20,338 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:20,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:20,360 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:20,360 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:20,360 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:20,360 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:20,360 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:36:21,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:21,526 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:36:21,526 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:21,527 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:21,527 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:21,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:21,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:36:21,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:21,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:36:21,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:36:21,626 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:21,627 INFO L225 Difference]: With dead ends: 42 [2019-05-15 10:36:21,627 INFO L226 Difference]: Without dead ends: 42 [2019-05-15 10:36:21,627 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:36:21,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-05-15 10:36:21,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 28. [2019-05-15 10:36:21,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:21,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 28 states. [2019-05-15 10:36:21,628 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 28 states. [2019-05-15 10:36:21,628 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 28 states. [2019-05-15 10:36:21,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:21,629 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:36:21,629 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:36:21,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:21,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:21,629 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 42 states. [2019-05-15 10:36:21,630 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 42 states. [2019-05-15 10:36:21,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:21,630 INFO L93 Difference]: Finished difference Result 42 states and 77 transitions. [2019-05-15 10:36:21,630 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 77 transitions. [2019-05-15 10:36:21,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:21,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:21,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:21,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:21,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-05-15 10:36:21,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 59 transitions. [2019-05-15 10:36:21,631 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 59 transitions. Word has length 14 [2019-05-15 10:36:21,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:21,631 INFO L475 AbstractCegarLoop]: Abstraction has 28 states and 59 transitions. [2019-05-15 10:36:21,632 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:21,632 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 59 transitions. [2019-05-15 10:36:21,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:21,632 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:21,632 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:21,632 INFO L418 AbstractCegarLoop]: === Iteration 77 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:21,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:21,633 INFO L82 PathProgramCache]: Analyzing trace with hash -1124929072, now seen corresponding path program 16 times [2019-05-15 10:36:21,633 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:21,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:21,638 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:21,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:21,654 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:21,689 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:36:21,689 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:21,698 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:21,699 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:21,699 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:21,703 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:21,704 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_483|]. (and (= |#memory_int| (store |v_#memory_int_483| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:21,704 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:21,734 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,735 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:21,737 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:21,748 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:21,748 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:21,748 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:21,788 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,790 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,791 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,792 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:21,794 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:21,805 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:21,806 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:21,806 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:21,811 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:21,812 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_485|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_485| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_485| ULTIMATE.start_main_p3 0) |#memory_int|) (= 0 (select |v_#memory_int_485| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:21,812 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:21,854 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,855 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,857 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,858 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:21,861 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:21,873 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:21,874 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:21,874 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:21,886 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:21,886 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_486|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_486| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_486| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= (store |v_#memory_int_486| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_486| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:21,886 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:21,937 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,938 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:21,941 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:21,943 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:21,957 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:21,957 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:21,958 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:21,964 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:21,964 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_487|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_487| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_487| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_487| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_487| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:21,964 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:22,014 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:22,015 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:22,017 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:22,018 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:22,027 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:22,040 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:22,040 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:22,040 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:22,045 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:22,045 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_488|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_488| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_488| ULTIMATE.start_main_p3) 0) (= (+ .cse0 1) 0) (= (store |v_#memory_int_488| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_488| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:22,045 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:22,095 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:22,097 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:22,099 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:22,100 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:22,103 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:22,118 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:22,118 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:22,119 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:22,125 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:22,125 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_489|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_489| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_489| ULTIMATE.start_main_p1) 1) (= 0 (select |v_#memory_int_489| ULTIMATE.start_main_p3)) (= (+ .cse0 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_489| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-05-15 10:36:22,125 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:22,153 INFO L273 TraceCheckUtils]: 0: Hoare triple {15495#true} havoc main_p1, main_p2, main_p3; {15495#true} is VALID [2019-05-15 10:36:22,154 INFO L273 TraceCheckUtils]: 1: Hoare triple {15495#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {15495#true} is VALID [2019-05-15 10:36:22,154 INFO L273 TraceCheckUtils]: 2: Hoare triple {15495#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {15495#true} is VALID [2019-05-15 10:36:22,154 INFO L273 TraceCheckUtils]: 3: Hoare triple {15495#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {15495#true} is VALID [2019-05-15 10:36:22,155 INFO L273 TraceCheckUtils]: 4: Hoare triple {15495#true} assume main_p1 < main_p2; {15512#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:22,156 INFO L273 TraceCheckUtils]: 5: Hoare triple {15512#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {15516#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:22,156 INFO L273 TraceCheckUtils]: 6: Hoare triple {15516#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {15520#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:22,157 INFO L273 TraceCheckUtils]: 7: Hoare triple {15520#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {15524#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:22,158 INFO L273 TraceCheckUtils]: 8: Hoare triple {15524#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {15528#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:22,160 INFO L273 TraceCheckUtils]: 9: Hoare triple {15528#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15532#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:22,162 INFO L273 TraceCheckUtils]: 10: Hoare triple {15532#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15536#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:22,164 INFO L273 TraceCheckUtils]: 11: Hoare triple {15536#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15540#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:22,167 INFO L273 TraceCheckUtils]: 12: Hoare triple {15540#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15544#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:22,168 INFO L273 TraceCheckUtils]: 13: Hoare triple {15544#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {15496#false} is VALID [2019-05-15 10:36:22,169 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:22,169 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:22,169 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:22,170 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:22,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:22,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:22,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:22,194 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:22,194 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:22,194 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:22,194 INFO L87 Difference]: Start difference. First operand 28 states and 59 transitions. Second operand 11 states. [2019-05-15 10:36:23,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:23,383 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:23,383 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:23,383 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:23,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:23,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:23,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:23,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:23,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:23,384 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:36:23,472 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:23,473 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:36:23,473 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:36:23,473 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:36:23,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:36:23,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:36:23,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:23,475 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:23,475 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:23,475 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:23,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:23,475 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:23,475 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:36:23,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:23,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:23,476 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:36:23,476 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:36:23,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:23,477 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:23,477 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:36:23,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:23,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:23,477 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:23,477 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:23,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:36:23,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:36:23,478 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:36:23,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:23,478 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:36:23,478 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:23,478 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:36:23,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:23,478 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:23,478 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:23,478 INFO L418 AbstractCegarLoop]: === Iteration 78 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:23,479 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:23,479 INFO L82 PathProgramCache]: Analyzing trace with hash -1124929010, now seen corresponding path program 31 times [2019-05-15 10:36:23,479 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:23,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:23,484 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:23,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:23,502 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:23,532 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:36:23,533 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,541 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:23,542 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,542 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:23,545 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:23,545 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_490|]. (and (= |#memory_int| (store |v_#memory_int_490| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:23,546 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:23,571 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,572 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:23,573 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,582 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:23,583 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,583 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:23,618 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,620 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,621 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,622 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:23,624 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,637 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:23,638 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,638 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:23,681 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,683 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,684 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,685 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:23,687 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,700 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:23,701 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,701 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:23,718 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:23,718 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_493|]. (let ((.cse0 (select |v_#memory_int_493| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= 0 (select |v_#memory_int_493| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_493| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_493| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:36:23,718 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:23,764 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,765 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,767 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,768 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:23,770 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,784 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:23,784 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,784 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:23,799 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:23,799 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_494|]. (let ((.cse0 (select |v_#memory_int_494| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= (select |v_#memory_int_494| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_494| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_494| ULTIMATE.start_main_p3) 0))) [2019-05-15 10:36:23,799 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:23,847 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,848 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,850 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,851 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:23,854 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,867 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:23,868 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:23,868 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:23,886 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:23,886 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_495|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_495| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_495| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_495| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (+ .cse0 1)) (= (select |v_#memory_int_495| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:23,886 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:23,931 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,933 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:23,943 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:23,945 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:23,958 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:23,959 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:23,959 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:23,967 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:23,968 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_496|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_496| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_496| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (+ (select |v_#memory_int_496| ULTIMATE.start_main_p2) 2) 0) (= 1 (select |v_#memory_int_496| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:23,968 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:23,995 INFO L273 TraceCheckUtils]: 0: Hoare triple {15726#true} havoc main_p1, main_p2, main_p3; {15726#true} is VALID [2019-05-15 10:36:23,995 INFO L273 TraceCheckUtils]: 1: Hoare triple {15726#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {15726#true} is VALID [2019-05-15 10:36:23,996 INFO L273 TraceCheckUtils]: 2: Hoare triple {15726#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {15726#true} is VALID [2019-05-15 10:36:23,996 INFO L273 TraceCheckUtils]: 3: Hoare triple {15726#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {15726#true} is VALID [2019-05-15 10:36:23,996 INFO L273 TraceCheckUtils]: 4: Hoare triple {15726#true} assume main_p1 < main_p2; {15743#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:23,997 INFO L273 TraceCheckUtils]: 5: Hoare triple {15743#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {15747#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:23,998 INFO L273 TraceCheckUtils]: 6: Hoare triple {15747#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {15751#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:23,999 INFO L273 TraceCheckUtils]: 7: Hoare triple {15751#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {15755#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:24,001 INFO L273 TraceCheckUtils]: 8: Hoare triple {15755#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {15759#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:24,002 INFO L273 TraceCheckUtils]: 9: Hoare triple {15759#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15763#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:24,004 INFO L273 TraceCheckUtils]: 10: Hoare triple {15763#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15767#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:24,006 INFO L273 TraceCheckUtils]: 11: Hoare triple {15767#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15771#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:24,008 INFO L273 TraceCheckUtils]: 12: Hoare triple {15771#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {15775#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:24,009 INFO L273 TraceCheckUtils]: 13: Hoare triple {15775#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {15727#false} is VALID [2019-05-15 10:36:24,011 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:24,011 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:24,011 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:24,011 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:24,011 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:24,011 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:24,033 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:24,033 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:24,033 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:24,033 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:24,034 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:36:24,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:24,936 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:36:24,937 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:24,937 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:24,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:24,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:24,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:36:24,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:24,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:36:24,938 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:36:25,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:25,027 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:36:25,027 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:36:25,028 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:36:25,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:36:25,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:36:25,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:25,029 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:36:25,029 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:36:25,029 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:36:25,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:25,030 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:25,030 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:25,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:25,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:25,030 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:36:25,030 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:36:25,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:25,031 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:25,031 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:25,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:25,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:25,031 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:25,031 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:25,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:36:25,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:36:25,032 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:36:25,032 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:25,032 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:36:25,032 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:25,032 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:36:25,032 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:25,032 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:25,032 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:25,033 INFO L418 AbstractCegarLoop]: === Iteration 79 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:25,033 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:25,033 INFO L82 PathProgramCache]: Analyzing trace with hash -1124929196, now seen corresponding path program 17 times [2019-05-15 10:36:25,033 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:25,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:25,037 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:25,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:25,041 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:25,073 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:36:25,074 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,082 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:25,082 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,083 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:25,086 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:25,087 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_497|]. (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_497| ULTIMATE.start_main_p1 0) |#memory_int|)) [2019-05-15 10:36:25,087 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:25,117 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,118 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:25,120 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,129 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:25,130 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,130 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:25,170 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,172 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,173 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,174 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:25,176 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,189 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:25,190 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:25,190 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:25,195 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:25,196 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_499|, ULTIMATE.start_main_p3]. (and (= (store |v_#memory_int_499| ULTIMATE.start_main_p3 0) |#memory_int|) (= 0 (select |v_#memory_int_499| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_499| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:25,196 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:25,241 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,243 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,245 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,246 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:25,248 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,262 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:25,263 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:25,263 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:25,274 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:25,275 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_500|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_500| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_500| ULTIMATE.start_main_p2)) (= 0 .cse0) (= 0 (select |v_#memory_int_500| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_500| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:25,275 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:25,323 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,325 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,326 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,327 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:25,330 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,343 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:25,344 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:25,344 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:25,350 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:25,351 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_501|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_501| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_501| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_501| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (= 1 (select |v_#memory_int_501| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:25,351 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:25,480 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,481 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,483 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,484 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:25,487 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,515 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:25,515 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:25,516 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:25,521 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:25,522 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_502|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_502| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_502| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_502| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_502| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:25,522 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:25,565 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,567 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,568 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:25,569 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:25,572 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:25,584 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:25,585 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:25,585 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:25,592 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:25,593 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_503|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_503| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_503| ULTIMATE.start_main_p2) 2)) (= |#memory_int| (store |v_#memory_int_503| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_503| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 1))) [2019-05-15 10:36:25,593 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:25,616 INFO L273 TraceCheckUtils]: 0: Hoare triple {15944#true} havoc main_p1, main_p2, main_p3; {15944#true} is VALID [2019-05-15 10:36:25,616 INFO L273 TraceCheckUtils]: 1: Hoare triple {15944#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {15944#true} is VALID [2019-05-15 10:36:25,616 INFO L273 TraceCheckUtils]: 2: Hoare triple {15944#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {15944#true} is VALID [2019-05-15 10:36:25,617 INFO L273 TraceCheckUtils]: 3: Hoare triple {15944#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {15944#true} is VALID [2019-05-15 10:36:25,617 INFO L273 TraceCheckUtils]: 4: Hoare triple {15944#true} assume main_p1 < main_p2; {15961#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:25,618 INFO L273 TraceCheckUtils]: 5: Hoare triple {15961#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {15965#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:25,619 INFO L273 TraceCheckUtils]: 6: Hoare triple {15965#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {15969#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:25,620 INFO L273 TraceCheckUtils]: 7: Hoare triple {15969#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {15973#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:25,622 INFO L273 TraceCheckUtils]: 8: Hoare triple {15973#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {15977#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:25,624 INFO L273 TraceCheckUtils]: 9: Hoare triple {15977#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15981#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:25,626 INFO L273 TraceCheckUtils]: 10: Hoare triple {15981#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15985#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:25,628 INFO L273 TraceCheckUtils]: 11: Hoare triple {15985#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15989#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:25,630 INFO L273 TraceCheckUtils]: 12: Hoare triple {15989#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15993#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:25,631 INFO L273 TraceCheckUtils]: 13: Hoare triple {15993#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {15945#false} is VALID [2019-05-15 10:36:25,631 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:25,632 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:25,632 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:25,632 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:25,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:25,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:25,671 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:25,672 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:25,672 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:25,672 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:25,672 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:36:26,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:26,773 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:26,773 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:26,773 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:26,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:26,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:26,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:36:26,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:26,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:36:26,774 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:36:26,856 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:26,857 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:36:26,857 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:36:26,858 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:36:26,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:36:26,859 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 30. [2019-05-15 10:36:26,859 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:26,859 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 30 states. [2019-05-15 10:36:26,859 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 30 states. [2019-05-15 10:36:26,859 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 30 states. [2019-05-15 10:36:26,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:26,860 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:26,860 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:26,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:26,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:26,860 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 43 states. [2019-05-15 10:36:26,860 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 43 states. [2019-05-15 10:36:26,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:26,861 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:26,861 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:26,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:26,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:26,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:26,862 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:26,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:36:26,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:36:26,863 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:36:26,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:26,863 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:36:26,863 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:26,863 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:36:26,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:26,864 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:26,864 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:26,864 INFO L418 AbstractCegarLoop]: === Iteration 80 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:26,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:26,864 INFO L82 PathProgramCache]: Analyzing trace with hash -1124927150, now seen corresponding path program 32 times [2019-05-15 10:36:26,865 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:26,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:26,869 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:26,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:26,887 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:26,916 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:36:26,916 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:26,925 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:26,925 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:26,926 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:26,929 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:26,929 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_504|]. (and (= |#memory_int| (store |v_#memory_int_504| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:26,930 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:26,957 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:26,958 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:26,959 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:26,969 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:26,970 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:26,970 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:27,005 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,007 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,008 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,009 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:27,011 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:27,023 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:27,023 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:27,023 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:27,067 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,068 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,070 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,071 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:27,073 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:27,086 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:27,087 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:27,087 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:27,100 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:27,100 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_507|]. (let ((.cse0 (select |v_#memory_int_507| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_507| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_507| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_507| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:27,100 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:27,142 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,143 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,145 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,146 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:27,148 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:27,162 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:27,162 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:27,162 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:27,174 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:27,174 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_508|]. (let ((.cse0 (select |v_#memory_int_508| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_508| ULTIMATE.start_main_p3)) (= 1 (select |v_#memory_int_508| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_508| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:36:27,175 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:27,238 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,239 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,241 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:27,242 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:27,245 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:27,259 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:27,259 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:27,259 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:39,325 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:39,325 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_509|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_509| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_509| ULTIMATE.start_main_p2) 1) 0) (= 1 (select |v_#memory_int_509| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_509| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:36:39,325 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:36:39,577 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:39,579 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:39,580 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:39,583 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:39,585 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:39,598 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:39,599 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:39,599 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:39,608 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:39,609 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_510|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_510| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_510| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_510| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_510| ULTIMATE.start_main_p3) 1) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:39,609 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:39,638 INFO L273 TraceCheckUtils]: 0: Hoare triple {16165#true} havoc main_p1, main_p2, main_p3; {16165#true} is VALID [2019-05-15 10:36:39,638 INFO L273 TraceCheckUtils]: 1: Hoare triple {16165#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {16165#true} is VALID [2019-05-15 10:36:39,638 INFO L273 TraceCheckUtils]: 2: Hoare triple {16165#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {16165#true} is VALID [2019-05-15 10:36:39,638 INFO L273 TraceCheckUtils]: 3: Hoare triple {16165#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {16165#true} is VALID [2019-05-15 10:36:39,639 INFO L273 TraceCheckUtils]: 4: Hoare triple {16165#true} assume main_p1 < main_p2; {16182#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:39,640 INFO L273 TraceCheckUtils]: 5: Hoare triple {16182#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {16186#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:39,641 INFO L273 TraceCheckUtils]: 6: Hoare triple {16186#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {16190#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:39,642 INFO L273 TraceCheckUtils]: 7: Hoare triple {16190#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {16194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:39,643 INFO L273 TraceCheckUtils]: 8: Hoare triple {16194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {16198#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:39,644 INFO L273 TraceCheckUtils]: 9: Hoare triple {16198#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16202#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:39,645 INFO L273 TraceCheckUtils]: 10: Hoare triple {16202#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16206#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:39,647 INFO L273 TraceCheckUtils]: 11: Hoare triple {16206#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16210#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:36:39,650 INFO L273 TraceCheckUtils]: 12: Hoare triple {16210#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:39,652 INFO L273 TraceCheckUtils]: 13: Hoare triple {16214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {16166#false} is VALID [2019-05-15 10:36:39,653 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:39,653 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:39,653 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:39,654 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:39,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:39,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:39,677 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:39,677 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:39,677 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:39,677 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:39,678 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:36:40,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:40,680 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:40,681 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:40,681 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:40,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:40,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:40,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:40,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:40,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:40,682 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:36:40,770 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:40,771 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:36:40,772 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:36:40,772 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:36:40,772 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:36:40,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:36:40,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:40,774 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:40,774 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:40,774 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:40,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:40,775 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:40,775 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:36:40,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:40,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:40,775 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:36:40,775 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:36:40,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:40,776 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:40,777 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:36:40,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:40,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:40,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:40,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:40,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:36:40,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:36:40,778 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:36:40,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:40,778 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:36:40,778 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:40,778 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:36:40,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:40,779 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:40,779 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:40,779 INFO L418 AbstractCegarLoop]: === Iteration 81 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:40,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:40,779 INFO L82 PathProgramCache]: Analyzing trace with hash -1124927088, now seen corresponding path program 33 times [2019-05-15 10:36:40,780 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:40,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:40,783 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:40,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:40,800 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:40,846 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:36:40,846 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:40,854 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:40,854 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:40,854 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:40,858 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:40,858 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_511|]. (and (= (store |v_#memory_int_511| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:40,858 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:40,888 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:40,889 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:40,890 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:40,901 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:40,901 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:40,902 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:40,941 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:40,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:40,944 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:40,945 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:40,946 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:40,960 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:40,960 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:40,961 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:41,006 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,008 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,009 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,010 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:41,013 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:41,026 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:41,027 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:41,027 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:41,045 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:41,046 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_514|]. (let ((.cse0 (select |v_#memory_int_514| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (select |v_#memory_int_514| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_514| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_514| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:41,046 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:41,090 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,091 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,093 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,094 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:41,097 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:41,110 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:41,111 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:41,111 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:41,128 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:41,129 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_515|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_515| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= 1 (select |v_#memory_int_515| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_515| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_515| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:41,129 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:41,171 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,173 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,174 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,175 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:41,178 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:41,192 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:41,195 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:41,195 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:41,200 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:41,201 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_516|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_516| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_516| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_516| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_516| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:41,201 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:36:41,249 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,250 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,252 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:41,252 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:41,272 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:41,356 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:41,360 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:41,361 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:41,419 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:41,419 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_517|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_517| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_517| ULTIMATE.start_main_p1) 1) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |v_#memory_int_517| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_517| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:36:41,419 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:36:41,453 INFO L273 TraceCheckUtils]: 0: Hoare triple {16390#true} havoc main_p1, main_p2, main_p3; {16390#true} is VALID [2019-05-15 10:36:41,454 INFO L273 TraceCheckUtils]: 1: Hoare triple {16390#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {16390#true} is VALID [2019-05-15 10:36:41,454 INFO L273 TraceCheckUtils]: 2: Hoare triple {16390#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {16390#true} is VALID [2019-05-15 10:36:41,454 INFO L273 TraceCheckUtils]: 3: Hoare triple {16390#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {16390#true} is VALID [2019-05-15 10:36:41,455 INFO L273 TraceCheckUtils]: 4: Hoare triple {16390#true} assume main_p1 < main_p2; {16407#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:41,455 INFO L273 TraceCheckUtils]: 5: Hoare triple {16407#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {16411#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:41,456 INFO L273 TraceCheckUtils]: 6: Hoare triple {16411#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {16415#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:41,457 INFO L273 TraceCheckUtils]: 7: Hoare triple {16415#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {16419#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:41,458 INFO L273 TraceCheckUtils]: 8: Hoare triple {16419#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {16423#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:41,459 INFO L273 TraceCheckUtils]: 9: Hoare triple {16423#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16427#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:41,461 INFO L273 TraceCheckUtils]: 10: Hoare triple {16427#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16431#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:36:41,463 INFO L273 TraceCheckUtils]: 11: Hoare triple {16431#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16435#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:36:41,466 INFO L273 TraceCheckUtils]: 12: Hoare triple {16435#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16439#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:36:41,467 INFO L273 TraceCheckUtils]: 13: Hoare triple {16439#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {16391#false} is VALID [2019-05-15 10:36:41,468 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:41,468 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:41,468 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:41,469 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:41,469 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:41,469 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:41,490 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:41,490 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:41,490 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:41,490 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:41,491 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:36:42,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:42,519 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:36:42,519 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:42,519 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:42,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:42,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:42,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:36:42,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:42,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:36:42,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:36:42,606 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:42,607 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:36:42,607 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:36:42,607 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:36:42,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:36:42,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:36:42,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:42,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:36:42,609 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:36:42,609 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:36:42,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:42,614 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:42,614 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:42,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:42,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:42,614 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:36:42,614 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:36:42,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:42,615 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:42,615 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:42,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:42,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:42,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:42,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:42,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:36:42,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:36:42,617 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:36:42,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:42,617 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:36:42,617 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:42,617 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:36:42,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:42,618 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:42,618 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:42,618 INFO L418 AbstractCegarLoop]: === Iteration 82 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:42,618 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:42,618 INFO L82 PathProgramCache]: Analyzing trace with hash -1124927274, now seen corresponding path program 34 times [2019-05-15 10:36:42,619 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:42,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:42,624 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:42,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:42,641 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:42,675 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:36:42,676 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,683 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:42,683 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,683 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:42,687 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:42,688 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_518|]. (and (= (store |v_#memory_int_518| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:42,688 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:42,714 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,715 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:42,716 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,727 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:42,727 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,727 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:42,762 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,763 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,765 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,766 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:42,767 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,778 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:42,778 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,778 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:42,819 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,821 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,822 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,823 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:42,825 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,837 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:42,838 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,838 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:42,851 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:42,851 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_521|]. (let ((.cse0 (select |v_#memory_int_521| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_521| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_521| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= 0 (select |v_#memory_int_521| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:42,851 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:42,892 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,893 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,895 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:42,896 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:42,900 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:42,911 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:42,912 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:42,912 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:55,475 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:55,475 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_522|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_522| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_522| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_522| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0) (= (select |v_#memory_int_522| ULTIMATE.start_main_p3) 0))) [2019-05-15 10:36:55,475 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:55,550 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:55,551 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:55,553 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:55,554 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:55,556 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:55,568 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:55,571 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:55,571 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:55,615 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:55,616 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_523|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_523| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_523| ULTIMATE.start_main_p2) 1)) (= 1 (select |v_#memory_int_523| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0) (= (store |v_#memory_int_523| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:36:55,616 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:36:55,659 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:55,660 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:55,662 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:55,663 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:55,665 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:55,679 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:55,681 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:55,682 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:55,689 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:55,690 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_524|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_524| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_524| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_524| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 1) (= 1 (select |v_#memory_int_524| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:55,690 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:36:55,714 INFO L273 TraceCheckUtils]: 0: Hoare triple {16610#true} havoc main_p1, main_p2, main_p3; {16610#true} is VALID [2019-05-15 10:36:55,714 INFO L273 TraceCheckUtils]: 1: Hoare triple {16610#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {16610#true} is VALID [2019-05-15 10:36:55,714 INFO L273 TraceCheckUtils]: 2: Hoare triple {16610#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {16610#true} is VALID [2019-05-15 10:36:55,715 INFO L273 TraceCheckUtils]: 3: Hoare triple {16610#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {16610#true} is VALID [2019-05-15 10:36:55,715 INFO L273 TraceCheckUtils]: 4: Hoare triple {16610#true} assume main_p1 < main_p2; {16627#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:55,716 INFO L273 TraceCheckUtils]: 5: Hoare triple {16627#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {16631#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:55,717 INFO L273 TraceCheckUtils]: 6: Hoare triple {16631#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {16635#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:55,718 INFO L273 TraceCheckUtils]: 7: Hoare triple {16635#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {16639#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:55,718 INFO L273 TraceCheckUtils]: 8: Hoare triple {16639#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {16643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:55,719 INFO L273 TraceCheckUtils]: 9: Hoare triple {16643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:55,721 INFO L273 TraceCheckUtils]: 10: Hoare triple {16647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:36:55,724 INFO L273 TraceCheckUtils]: 11: Hoare triple {16651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16655#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:36:55,725 INFO L273 TraceCheckUtils]: 12: Hoare triple {16655#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16659#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:36:55,726 INFO L273 TraceCheckUtils]: 13: Hoare triple {16659#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {16611#false} is VALID [2019-05-15 10:36:55,726 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:55,727 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:55,727 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:55,727 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:55,727 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:55,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:55,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:55,750 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:55,750 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:55,750 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:55,751 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:36:56,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:56,772 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:56,772 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:56,772 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:56,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:56,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:56,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:36:56,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:56,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:36:56,774 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:36:56,857 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:56,858 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:36:56,858 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:36:56,859 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:36:56,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:36:56,860 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 30. [2019-05-15 10:36:56,860 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:56,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 30 states. [2019-05-15 10:36:56,860 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 30 states. [2019-05-15 10:36:56,860 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 30 states. [2019-05-15 10:36:56,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:56,861 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:56,861 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:56,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:56,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:56,861 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 43 states. [2019-05-15 10:36:56,861 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 43 states. [2019-05-15 10:36:56,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:56,862 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:36:56,862 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:36:56,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:56,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:56,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:56,862 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:56,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:36:56,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:36:56,863 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:36:56,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:56,863 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:36:56,863 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:56,863 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:36:56,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:56,864 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:56,864 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:56,864 INFO L418 AbstractCegarLoop]: === Iteration 83 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:56,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:56,864 INFO L82 PathProgramCache]: Analyzing trace with hash -1124932916, now seen corresponding path program 18 times [2019-05-15 10:36:56,865 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:56,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:56,868 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:56,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:56,889 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:56,934 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:36:56,934 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:56,940 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:56,941 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:56,941 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:56,944 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:56,945 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_525|]. (and (= (store |v_#memory_int_525| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:56,945 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:56,973 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:56,974 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:56,975 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:56,986 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:56,987 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:56,987 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:57,025 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,026 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,028 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,029 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:57,031 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:57,044 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:57,044 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:57,045 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:57,049 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:57,049 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_527|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_527| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_527| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_527| ULTIMATE.start_main_p2) 0)) [2019-05-15 10:36:57,049 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:57,088 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,090 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,091 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,092 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:57,097 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:57,108 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:57,109 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:57,109 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:57,119 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:57,119 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_528|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_528| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (select |v_#memory_int_528| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_528| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_528| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-05-15 10:36:57,120 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:57,163 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,164 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,166 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,167 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:57,172 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:57,181 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:57,182 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:57,182 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:36:57,188 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:57,188 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_529|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_529| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_529| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_529| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_529| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:57,188 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:57,237 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,238 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,240 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,241 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:57,247 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:57,257 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:57,258 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:57,258 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:57,271 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:57,271 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_530|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_530| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_530| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_530| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_530| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:57,271 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:36:57,314 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,315 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,317 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:57,318 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:36:57,321 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:57,333 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:57,333 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:57,334 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:36:57,342 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:57,343 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_531|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_531| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_531| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ .cse0 1) 0) (= (select |v_#memory_int_531| ULTIMATE.start_main_p1) 2) (= (select |v_#memory_int_531| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:57,343 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:57,365 INFO L273 TraceCheckUtils]: 0: Hoare triple {16827#true} havoc main_p1, main_p2, main_p3; {16827#true} is VALID [2019-05-15 10:36:57,365 INFO L273 TraceCheckUtils]: 1: Hoare triple {16827#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {16827#true} is VALID [2019-05-15 10:36:57,366 INFO L273 TraceCheckUtils]: 2: Hoare triple {16827#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {16827#true} is VALID [2019-05-15 10:36:57,366 INFO L273 TraceCheckUtils]: 3: Hoare triple {16827#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {16827#true} is VALID [2019-05-15 10:36:57,366 INFO L273 TraceCheckUtils]: 4: Hoare triple {16827#true} assume main_p1 < main_p2; {16844#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:36:57,367 INFO L273 TraceCheckUtils]: 5: Hoare triple {16844#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {16848#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:57,368 INFO L273 TraceCheckUtils]: 6: Hoare triple {16848#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {16852#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:57,369 INFO L273 TraceCheckUtils]: 7: Hoare triple {16852#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {16856#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:57,371 INFO L273 TraceCheckUtils]: 8: Hoare triple {16856#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {16860#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:57,373 INFO L273 TraceCheckUtils]: 9: Hoare triple {16860#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16864#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:57,375 INFO L273 TraceCheckUtils]: 10: Hoare triple {16864#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16868#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:36:57,377 INFO L273 TraceCheckUtils]: 11: Hoare triple {16868#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16872#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-05-15 10:36:57,380 INFO L273 TraceCheckUtils]: 12: Hoare triple {16872#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16876#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:36:57,381 INFO L273 TraceCheckUtils]: 13: Hoare triple {16876#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {16828#false} is VALID [2019-05-15 10:36:57,382 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:36:57,382 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:36:57,382 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:36:57,383 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:57,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:36:57,383 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:36:57,404 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:57,404 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:36:57,404 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:36:57,405 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:36:57,405 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:36:58,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:58,530 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:58,531 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:36:58,531 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:36:58,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:36:58,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:58,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:58,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:36:58,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:36:58,532 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:36:58,618 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:36:58,619 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:36:58,619 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:36:58,619 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:36:58,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:36:58,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:36:58,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:36:58,620 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:58,620 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:58,620 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:36:58,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:58,621 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:58,621 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:36:58,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:58,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:58,621 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:36:58,622 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:36:58,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:36:58,622 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:36:58,622 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:36:58,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:36:58,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:36:58,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:36:58,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:36:58,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:36:58,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:36:58,623 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:36:58,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:36:58,623 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:36:58,623 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:36:58,623 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:36:58,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:36:58,624 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:36:58,624 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:36:58,624 INFO L418 AbstractCegarLoop]: === Iteration 84 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:36:58,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:36:58,624 INFO L82 PathProgramCache]: Analyzing trace with hash -1124932854, now seen corresponding path program 35 times [2019-05-15 10:36:58,625 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:36:58,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:58,628 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:36:58,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:36:58,646 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:36:58,710 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:36:58,710 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:58,718 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:58,718 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:58,719 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:36:58,722 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:58,722 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_532|]. (and (= (store |v_#memory_int_532| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:58,722 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:58,748 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:58,748 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:36:58,749 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:58,760 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:58,760 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:58,760 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:36:58,794 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:58,795 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:58,797 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:58,799 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:36:58,816 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:58,825 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:58,826 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:58,826 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:36:58,868 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:58,870 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:58,871 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:58,872 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:58,913 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:59,001 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:59,001 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:36:59,002 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:36:59,015 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:36:59,015 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_535|]. (let ((.cse0 (select |v_#memory_int_535| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_535| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_535| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_535| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:36:59,015 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:36:59,055 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:59,056 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:59,058 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:36:59,059 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:36:59,061 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:36:59,073 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:36:59,074 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:36:59,074 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:01,376 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:01,376 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_536|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_536| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_536| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_536| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_536| ULTIMATE.start_main_p1) 1) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:01,376 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:01,418 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:01,420 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:01,421 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:01,422 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:01,424 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:01,437 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:01,440 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:01,440 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:01,445 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:01,445 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_537|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_537| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_537| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (= (select |v_#memory_int_537| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |v_#memory_int_537| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:01,446 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:01,484 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:01,485 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:01,487 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:01,488 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:01,490 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:01,502 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:01,505 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:01,505 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:01,512 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:01,513 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_538|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_538| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_538| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_538| ULTIMATE.start_main_p1) 2) (= (store |v_#memory_int_538| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:01,513 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:01,536 INFO L273 TraceCheckUtils]: 0: Hoare triple {17058#true} havoc main_p1, main_p2, main_p3; {17058#true} is VALID [2019-05-15 10:37:01,536 INFO L273 TraceCheckUtils]: 1: Hoare triple {17058#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {17058#true} is VALID [2019-05-15 10:37:01,536 INFO L273 TraceCheckUtils]: 2: Hoare triple {17058#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {17058#true} is VALID [2019-05-15 10:37:01,536 INFO L273 TraceCheckUtils]: 3: Hoare triple {17058#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {17058#true} is VALID [2019-05-15 10:37:01,537 INFO L273 TraceCheckUtils]: 4: Hoare triple {17058#true} assume main_p1 < main_p2; {17075#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:01,538 INFO L273 TraceCheckUtils]: 5: Hoare triple {17075#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {17079#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:01,539 INFO L273 TraceCheckUtils]: 6: Hoare triple {17079#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {17083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:01,539 INFO L273 TraceCheckUtils]: 7: Hoare triple {17083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {17087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:01,540 INFO L273 TraceCheckUtils]: 8: Hoare triple {17087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {17091#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:01,541 INFO L273 TraceCheckUtils]: 9: Hoare triple {17091#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17095#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:01,543 INFO L273 TraceCheckUtils]: 10: Hoare triple {17095#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17099#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:37:01,545 INFO L273 TraceCheckUtils]: 11: Hoare triple {17099#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17103#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:37:01,547 INFO L273 TraceCheckUtils]: 12: Hoare triple {17103#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17107#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:37:01,548 INFO L273 TraceCheckUtils]: 13: Hoare triple {17107#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {17059#false} is VALID [2019-05-15 10:37:01,549 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:01,549 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:01,549 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:01,550 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:01,550 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:01,550 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:01,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:01,571 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:01,571 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:01,571 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:01,571 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:37:02,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:02,581 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:37:02,581 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:02,582 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:02,582 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:02,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:02,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:02,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:02,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:02,583 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:37:02,666 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:02,667 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:37:02,667 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:02,667 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:37:02,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:02,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:37:02,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:02,669 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:02,669 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:02,669 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:02,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:02,669 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:02,669 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:02,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:02,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:02,670 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:02,670 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:02,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:02,670 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:02,671 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:02,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:02,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:02,671 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:02,671 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:02,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:02,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:37:02,671 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:37:02,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:02,672 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:37:02,672 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:02,672 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:37:02,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:02,672 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:02,672 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:02,672 INFO L418 AbstractCegarLoop]: === Iteration 85 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:02,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:02,673 INFO L82 PathProgramCache]: Analyzing trace with hash -1124933040, now seen corresponding path program 19 times [2019-05-15 10:37:02,673 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:02,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:02,676 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:02,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:02,696 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:03,328 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:37:03,328 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,433 WARN L188 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2019-05-15 10:37:03,433 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:03,434 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,434 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:03,454 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:03,454 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_539|]. (and (= |#memory_int| (store |v_#memory_int_539| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:03,455 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:03,525 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,526 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:03,527 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,538 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:03,539 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,539 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:03,573 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,575 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,576 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,577 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:03,579 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,592 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:03,592 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:03,592 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:03,597 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:03,598 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_541|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_541| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_541| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_541| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:03,598 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:03,637 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,639 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,640 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,642 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:03,644 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,656 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:03,657 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:03,657 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:03,678 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:03,678 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_542|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_542| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_542| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_542| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (= (store |v_#memory_int_542| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:03,678 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:03,722 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,723 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,725 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,728 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:03,770 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,871 WARN L188 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2019-05-15 10:37:03,872 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:03,873 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:03,873 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:03,878 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:03,878 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_543|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_543| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_543| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_543| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_543| ULTIMATE.start_main_p1) 1))) [2019-05-15 10:37:03,878 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:03,926 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,927 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,929 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,930 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:03,931 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:03,943 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:03,946 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:03,947 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:03,953 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:03,953 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_544|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_544| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_544| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_544| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |v_#memory_int_544| ULTIMATE.start_main_p2) 1)) (= .cse0 1))) [2019-05-15 10:37:03,953 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:03,994 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,995 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,997 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:03,998 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:04,000 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:04,014 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:04,017 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:04,017 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:04,024 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:04,025 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_545|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_545| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_545| ULTIMATE.start_main_p2) 1) 0) (= |#memory_int| (store |v_#memory_int_545| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 2 .cse0) (= 0 (select |v_#memory_int_545| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:04,025 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:04,048 INFO L273 TraceCheckUtils]: 0: Hoare triple {17278#true} havoc main_p1, main_p2, main_p3; {17278#true} is VALID [2019-05-15 10:37:04,049 INFO L273 TraceCheckUtils]: 1: Hoare triple {17278#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {17278#true} is VALID [2019-05-15 10:37:04,049 INFO L273 TraceCheckUtils]: 2: Hoare triple {17278#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {17278#true} is VALID [2019-05-15 10:37:04,049 INFO L273 TraceCheckUtils]: 3: Hoare triple {17278#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {17278#true} is VALID [2019-05-15 10:37:04,050 INFO L273 TraceCheckUtils]: 4: Hoare triple {17278#true} assume main_p1 < main_p2; {17295#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:04,050 INFO L273 TraceCheckUtils]: 5: Hoare triple {17295#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {17299#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:04,051 INFO L273 TraceCheckUtils]: 6: Hoare triple {17299#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {17303#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:04,052 INFO L273 TraceCheckUtils]: 7: Hoare triple {17303#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {17307#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:04,053 INFO L273 TraceCheckUtils]: 8: Hoare triple {17307#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {17311#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:04,055 INFO L273 TraceCheckUtils]: 9: Hoare triple {17311#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17315#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:04,057 INFO L273 TraceCheckUtils]: 10: Hoare triple {17315#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17319#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:04,059 INFO L273 TraceCheckUtils]: 11: Hoare triple {17319#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17323#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:37:04,061 INFO L273 TraceCheckUtils]: 12: Hoare triple {17323#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17327#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} is VALID [2019-05-15 10:37:04,062 INFO L273 TraceCheckUtils]: 13: Hoare triple {17327#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} assume !(#memory_int[main_p1] >= 0); {17279#false} is VALID [2019-05-15 10:37:04,063 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:04,064 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:04,064 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:04,064 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:04,064 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:04,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:04,087 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:04,088 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:04,088 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:04,088 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:04,088 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:37:05,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:05,228 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:05,228 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:05,228 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:05,229 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:05,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:05,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:05,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:05,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:05,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:37:05,319 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:05,319 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:37:05,320 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:05,320 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:37:05,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:05,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2019-05-15 10:37:05,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:05,322 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 29 states. [2019-05-15 10:37:05,322 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 29 states. [2019-05-15 10:37:05,322 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 29 states. [2019-05-15 10:37:05,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:05,323 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:05,323 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:05,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:05,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:05,324 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 43 states. [2019-05-15 10:37:05,324 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 43 states. [2019-05-15 10:37:05,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:05,325 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:05,325 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:05,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:05,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:05,325 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:05,325 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:05,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:37:05,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:37:05,326 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:37:05,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:05,326 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:37:05,326 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:05,326 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:37:05,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:05,326 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:05,327 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:05,327 INFO L418 AbstractCegarLoop]: === Iteration 86 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:05,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:05,327 INFO L82 PathProgramCache]: Analyzing trace with hash -1124869490, now seen corresponding path program 36 times [2019-05-15 10:37:05,328 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:05,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:05,332 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:05,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:05,350 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:05,658 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:37:05,659 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,667 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:05,668 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,668 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:05,671 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:05,672 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_546|]. (and (= (store |v_#memory_int_546| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:05,672 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:05,703 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,704 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:05,705 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,715 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:05,715 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,715 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:05,755 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,756 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,758 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,759 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:05,771 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,783 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:05,784 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,784 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:05,829 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,830 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,832 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,833 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:05,835 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,849 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:05,850 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,850 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:05,864 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:05,864 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_549|]. (let ((.cse0 (select |v_#memory_int_549| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_549| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_549| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_549| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:05,864 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:05,911 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,912 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,914 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:05,915 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:05,918 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:05,931 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:05,932 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:05,932 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:18,021 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:18,022 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_550|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_550| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= (select |v_#memory_int_550| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_550| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_550| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:18,022 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:18,314 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:18,316 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:18,317 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:18,318 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:18,320 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:18,333 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:18,333 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:18,333 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:18,340 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:18,340 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_551|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_551| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_551| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_551| ULTIMATE.start_main_p3) 1) (= .cse0 0) (= (select |v_#memory_int_551| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:18,340 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:18,391 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:18,392 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:18,394 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:18,395 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:18,399 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:18,413 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:18,414 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:18,414 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:18,421 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:18,422 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_552|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_552| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_552| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_552| ULTIMATE.start_main_p3)) (= (+ .cse0 1) 0) (= 1 (select |v_#memory_int_552| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:18,422 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:18,449 INFO L273 TraceCheckUtils]: 0: Hoare triple {17498#true} havoc main_p1, main_p2, main_p3; {17498#true} is VALID [2019-05-15 10:37:18,450 INFO L273 TraceCheckUtils]: 1: Hoare triple {17498#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {17498#true} is VALID [2019-05-15 10:37:18,450 INFO L273 TraceCheckUtils]: 2: Hoare triple {17498#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {17498#true} is VALID [2019-05-15 10:37:18,450 INFO L273 TraceCheckUtils]: 3: Hoare triple {17498#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {17498#true} is VALID [2019-05-15 10:37:18,453 INFO L273 TraceCheckUtils]: 4: Hoare triple {17498#true} assume main_p1 < main_p2; {17515#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:18,454 INFO L273 TraceCheckUtils]: 5: Hoare triple {17515#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {17519#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:18,454 INFO L273 TraceCheckUtils]: 6: Hoare triple {17519#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {17523#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:18,455 INFO L273 TraceCheckUtils]: 7: Hoare triple {17523#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {17527#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:18,456 INFO L273 TraceCheckUtils]: 8: Hoare triple {17527#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {17531#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:18,457 INFO L273 TraceCheckUtils]: 9: Hoare triple {17531#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:18,459 INFO L273 TraceCheckUtils]: 10: Hoare triple {17535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17539#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:18,461 INFO L273 TraceCheckUtils]: 11: Hoare triple {17539#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17543#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:18,464 INFO L273 TraceCheckUtils]: 12: Hoare triple {17543#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17547#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:18,465 INFO L273 TraceCheckUtils]: 13: Hoare triple {17547#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {17499#false} is VALID [2019-05-15 10:37:18,466 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:18,466 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:18,466 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:18,467 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:18,467 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:18,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:18,489 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:18,489 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:18,489 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:18,489 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:18,490 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:37:19,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:19,485 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:19,485 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:19,485 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:19,485 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:19,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:19,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:19,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:19,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:19,487 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:37:19,583 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:19,584 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:37:19,584 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:37:19,584 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:37:19,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:37:19,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:37:19,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:19,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:19,586 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:19,586 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:19,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:19,587 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:19,588 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:19,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:19,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:19,588 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:19,588 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:19,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:19,590 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:19,590 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:19,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:19,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:19,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:19,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:19,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:19,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:37:19,591 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:37:19,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:19,592 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:37:19,592 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:19,592 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:37:19,592 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:19,592 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:19,592 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:19,592 INFO L418 AbstractCegarLoop]: === Iteration 87 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:19,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:19,593 INFO L82 PathProgramCache]: Analyzing trace with hash -1124869428, now seen corresponding path program 37 times [2019-05-15 10:37:19,593 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:19,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:19,598 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:19,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:19,613 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:19,649 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:37:19,649 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,658 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:19,658 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,658 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:19,662 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:19,663 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_553|]. (and (= (store |v_#memory_int_553| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:19,663 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:19,690 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,691 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:19,692 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,703 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:19,704 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,704 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:19,740 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,742 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,743 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,744 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:19,746 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,758 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:19,758 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,759 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:19,808 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,810 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,811 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,812 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:19,814 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,827 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:19,828 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,828 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:19,839 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:19,840 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_556|]. (let ((.cse0 (select |v_#memory_int_556| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_556| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_556| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_556| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:19,840 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:19,881 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,883 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,884 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,885 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:19,888 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,901 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:19,901 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,901 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:19,915 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:19,915 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_557|]. (let ((.cse0 (select |v_#memory_int_557| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_557| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_557| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_557| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:19,915 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:19,960 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,962 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,963 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:19,964 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:19,967 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:19,980 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:19,980 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:19,980 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:32,080 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:32,080 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_558|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_558| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (select |v_#memory_int_558| ULTIMATE.start_main_p3) 1) (= (store |v_#memory_int_558| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_558| ULTIMATE.start_main_p1) 1))) [2019-05-15 10:37:32,080 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:32,291 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:32,292 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:32,294 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:32,295 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:32,297 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:32,308 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:32,311 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:32,311 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:32,317 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:32,318 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_559|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_559| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_559| ULTIMATE.start_main_p1) 1) (= (+ (select |v_#memory_int_559| ULTIMATE.start_main_p2) 1) 0) (= |#memory_int| (store |v_#memory_int_559| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 1))) [2019-05-15 10:37:32,318 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:32,341 INFO L273 TraceCheckUtils]: 0: Hoare triple {17725#true} havoc main_p1, main_p2, main_p3; {17725#true} is VALID [2019-05-15 10:37:32,341 INFO L273 TraceCheckUtils]: 1: Hoare triple {17725#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {17725#true} is VALID [2019-05-15 10:37:32,342 INFO L273 TraceCheckUtils]: 2: Hoare triple {17725#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {17725#true} is VALID [2019-05-15 10:37:32,342 INFO L273 TraceCheckUtils]: 3: Hoare triple {17725#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {17725#true} is VALID [2019-05-15 10:37:32,342 INFO L273 TraceCheckUtils]: 4: Hoare triple {17725#true} assume main_p1 < main_p2; {17742#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:32,343 INFO L273 TraceCheckUtils]: 5: Hoare triple {17742#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {17746#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:32,344 INFO L273 TraceCheckUtils]: 6: Hoare triple {17746#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {17750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:32,344 INFO L273 TraceCheckUtils]: 7: Hoare triple {17750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {17754#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:32,345 INFO L273 TraceCheckUtils]: 8: Hoare triple {17754#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {17758#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:32,346 INFO L273 TraceCheckUtils]: 9: Hoare triple {17758#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17762#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:32,347 INFO L273 TraceCheckUtils]: 10: Hoare triple {17762#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17766#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:32,349 INFO L273 TraceCheckUtils]: 11: Hoare triple {17766#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17770#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-05-15 10:37:32,351 INFO L273 TraceCheckUtils]: 12: Hoare triple {17770#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17774#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:37:32,352 INFO L273 TraceCheckUtils]: 13: Hoare triple {17774#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {17726#false} is VALID [2019-05-15 10:37:32,353 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:32,353 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:32,353 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:32,354 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:32,354 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:32,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:32,373 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:32,373 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:32,373 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:32,374 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:32,374 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:37:33,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:33,182 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:37:33,182 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:33,182 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:33,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:33,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:33,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:33,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:33,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:33,184 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:37:33,266 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:33,267 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:37:33,267 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:33,267 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:37:33,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:33,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:37:33,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:33,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:33,268 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:33,268 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:33,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:33,269 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:33,269 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:33,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:33,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:33,269 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:33,270 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:33,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:33,270 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:33,270 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:33,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:33,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:33,271 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:33,271 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:33,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:33,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:37:33,272 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:37:33,272 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:33,272 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:37:33,272 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:33,272 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:37:33,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:33,273 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:33,273 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:33,273 INFO L418 AbstractCegarLoop]: === Iteration 88 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:33,273 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:33,273 INFO L82 PathProgramCache]: Analyzing trace with hash -1124869614, now seen corresponding path program 38 times [2019-05-15 10:37:33,274 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:33,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:33,278 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:33,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:33,296 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:33,343 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:37:33,343 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,352 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:33,352 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,352 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:33,356 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:33,356 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_560|]. (and (= (store |v_#memory_int_560| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:33,356 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:33,383 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,384 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:33,385 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,395 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:33,395 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,395 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:33,432 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,433 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,434 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,435 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:33,437 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,448 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:33,448 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,448 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:33,491 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,492 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,494 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,495 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:33,497 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,509 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:33,510 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,510 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:33,525 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:33,526 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_563|]. (let ((.cse0 (select |v_#memory_int_563| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_563| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_563| ULTIMATE.start_main_p2)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_563| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:33,526 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:33,566 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,567 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,569 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,569 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:33,572 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,583 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:33,583 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:33,584 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:33,602 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:33,602 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_564|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_564| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_564| ULTIMATE.start_main_p2)) (= 1 (select |v_#memory_int_564| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_564| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2019-05-15 10:37:33,602 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:33,642 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,643 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,644 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,645 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:33,647 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,659 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:33,660 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:33,660 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:33,666 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:33,666 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_565|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_565| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_565| ULTIMATE.start_main_p3) 1) (= .cse0 0) (= (select |v_#memory_int_565| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_565| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:33,666 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:33,705 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,706 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,707 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:33,708 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:33,710 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:33,723 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:33,725 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:33,725 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:33,730 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:33,730 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_566|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_566| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_566| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 1) (= 0 (+ (select |v_#memory_int_566| ULTIMATE.start_main_p2) 1)) (= 1 (select |v_#memory_int_566| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:33,731 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:33,752 INFO L273 TraceCheckUtils]: 0: Hoare triple {17943#true} havoc main_p1, main_p2, main_p3; {17943#true} is VALID [2019-05-15 10:37:33,753 INFO L273 TraceCheckUtils]: 1: Hoare triple {17943#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {17943#true} is VALID [2019-05-15 10:37:33,753 INFO L273 TraceCheckUtils]: 2: Hoare triple {17943#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {17943#true} is VALID [2019-05-15 10:37:33,753 INFO L273 TraceCheckUtils]: 3: Hoare triple {17943#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {17943#true} is VALID [2019-05-15 10:37:33,754 INFO L273 TraceCheckUtils]: 4: Hoare triple {17943#true} assume main_p1 < main_p2; {17960#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:33,754 INFO L273 TraceCheckUtils]: 5: Hoare triple {17960#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {17964#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:33,755 INFO L273 TraceCheckUtils]: 6: Hoare triple {17964#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {17968#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:33,756 INFO L273 TraceCheckUtils]: 7: Hoare triple {17968#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {17972#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:33,756 INFO L273 TraceCheckUtils]: 8: Hoare triple {17972#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {17976#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:33,757 INFO L273 TraceCheckUtils]: 9: Hoare triple {17976#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17980#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:33,759 INFO L273 TraceCheckUtils]: 10: Hoare triple {17980#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17984#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:33,761 INFO L273 TraceCheckUtils]: 11: Hoare triple {17984#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17988#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:33,763 INFO L273 TraceCheckUtils]: 12: Hoare triple {17988#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17992#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:37:33,764 INFO L273 TraceCheckUtils]: 13: Hoare triple {17992#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {17944#false} is VALID [2019-05-15 10:37:33,765 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:33,765 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:33,765 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:33,765 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:33,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:33,765 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:33,786 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:33,786 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:33,786 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:33,787 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:33,787 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:37:34,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:34,619 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:34,619 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:34,619 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:34,620 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:34,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:34,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:34,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:34,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:34,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:37:34,693 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:34,694 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:37:34,694 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:34,695 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:37:34,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:34,696 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 30. [2019-05-15 10:37:34,696 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:34,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:34,696 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:34,696 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:34,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:34,697 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:34,697 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:34,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:34,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:34,697 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 43 states. [2019-05-15 10:37:34,697 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 43 states. [2019-05-15 10:37:34,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:34,698 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:34,698 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:34,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:34,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:34,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:34,699 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:34,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:37:34,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:37:34,699 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:37:34,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:34,699 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:37:34,699 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:34,699 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:37:34,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:34,700 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:34,700 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:34,700 INFO L418 AbstractCegarLoop]: === Iteration 89 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:34,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:34,700 INFO L82 PathProgramCache]: Analyzing trace with hash -1124867568, now seen corresponding path program 39 times [2019-05-15 10:37:34,701 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:34,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:34,703 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:34,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:34,707 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:34,749 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:37:34,749 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,757 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:34,757 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,757 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:34,761 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:34,761 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_567|]. (and (= (store |v_#memory_int_567| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:34,761 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:34,790 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,791 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:34,792 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,802 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:34,802 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,802 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:34,837 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,838 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,839 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,840 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:34,841 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,853 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:34,854 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,854 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:34,893 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,894 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,895 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,896 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:34,898 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,910 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:34,911 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:34,911 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:34,922 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:34,923 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_570|]. (let ((.cse0 (select |v_#memory_int_570| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_570| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_570| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_570| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:34,923 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:34,962 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,963 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,964 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:34,965 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:35,012 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:35,144 WARN L188 SmtUtils]: Spent 131.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2019-05-15 10:37:35,144 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:35,145 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:35,145 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:35,161 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:35,162 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_571|]. (let ((.cse0 (select |v_#memory_int_571| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_571| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_571| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_571| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:35,162 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:35,242 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:35,243 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:35,244 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:35,245 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:35,247 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:35,260 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:35,260 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:35,260 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:35,283 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:35,284 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_572|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_572| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_572| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_572| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_572| ULTIMATE.start_main_p2)) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:35,284 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:35,324 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:35,325 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:35,326 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:35,327 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:35,329 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:35,363 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:35,364 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:35,364 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:35,904 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:35,904 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_573|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_573| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_573| ULTIMATE.start_main_p1) 1) (= 0 .cse0) (= (select |v_#memory_int_573| ULTIMATE.start_main_p3) 2) (= (store |v_#memory_int_573| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:35,904 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:35,934 INFO L273 TraceCheckUtils]: 0: Hoare triple {18160#true} havoc main_p1, main_p2, main_p3; {18160#true} is VALID [2019-05-15 10:37:35,935 INFO L273 TraceCheckUtils]: 1: Hoare triple {18160#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {18160#true} is VALID [2019-05-15 10:37:35,935 INFO L273 TraceCheckUtils]: 2: Hoare triple {18160#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {18160#true} is VALID [2019-05-15 10:37:35,935 INFO L273 TraceCheckUtils]: 3: Hoare triple {18160#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {18160#true} is VALID [2019-05-15 10:37:35,936 INFO L273 TraceCheckUtils]: 4: Hoare triple {18160#true} assume main_p1 < main_p2; {18177#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:35,936 INFO L273 TraceCheckUtils]: 5: Hoare triple {18177#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {18181#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:35,937 INFO L273 TraceCheckUtils]: 6: Hoare triple {18181#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {18185#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:35,938 INFO L273 TraceCheckUtils]: 7: Hoare triple {18185#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {18189#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:35,939 INFO L273 TraceCheckUtils]: 8: Hoare triple {18189#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {18193#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:35,940 INFO L273 TraceCheckUtils]: 9: Hoare triple {18193#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {18197#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:35,942 INFO L273 TraceCheckUtils]: 10: Hoare triple {18197#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18201#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:35,944 INFO L273 TraceCheckUtils]: 11: Hoare triple {18201#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18205#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:35,946 INFO L273 TraceCheckUtils]: 12: Hoare triple {18205#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {18209#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:35,947 INFO L273 TraceCheckUtils]: 13: Hoare triple {18209#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {18161#false} is VALID [2019-05-15 10:37:35,949 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:35,949 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:35,949 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:35,950 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:35,950 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:35,950 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:35,971 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:35,971 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:35,971 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:35,971 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:35,972 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:37:37,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:37,021 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:37,021 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:37,021 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:37,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:37,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:37,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:37,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:37,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:37,022 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:37:37,114 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:37,115 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:37:37,115 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:37:37,115 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:37:37,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:37:37,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:37:37,117 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:37,117 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:37,117 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:37,117 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:37,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:37,118 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:37,118 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:37,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:37,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:37,118 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:37,118 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:37,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:37,119 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:37,119 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:37,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:37,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:37,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:37,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:37,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:37,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:37:37,120 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:37:37,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:37,120 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:37:37,121 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:37,121 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:37:37,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:37,121 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:37,121 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:37,121 INFO L418 AbstractCegarLoop]: === Iteration 90 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:37,121 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:37,121 INFO L82 PathProgramCache]: Analyzing trace with hash -1124867506, now seen corresponding path program 16 times [2019-05-15 10:37:37,122 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:37,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:37,126 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:37,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:37,136 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:37,172 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:37:37,173 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,181 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:37,181 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,181 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:37,185 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:37,186 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_574|]. (and (= (store |v_#memory_int_574| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:37,186 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:37,216 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,217 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:37,218 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,229 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:37,230 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:37,230 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:37,235 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:37,236 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_575|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_575| ULTIMATE.start_main_p2 0) |#memory_int|) (= (select |v_#memory_int_575| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:37,236 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:37,272 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,273 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,275 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,276 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:37,277 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,290 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:37,291 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:37,291 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:37,336 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,338 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,340 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,341 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:37,376 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,463 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:37,464 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:37,464 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:37,470 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:37,470 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_577|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_577| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_577| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_577| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_577| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:37,470 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:37,517 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,519 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,521 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,522 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:37,523 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,536 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:37,536 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:37,537 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:37,542 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:37,542 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_578|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_578| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_578| ULTIMATE.start_main_p1) 1) (= .cse0 0) (= (store |v_#memory_int_578| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_578| ULTIMATE.start_main_p2)))) [2019-05-15 10:37:37,542 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:37,587 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,588 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,590 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,591 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:37,593 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,607 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:37,608 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:37,608 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:37,614 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:37,614 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_579|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_579| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_579| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_579| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_579| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 1))) [2019-05-15 10:37:37,615 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:37,662 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,664 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,666 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:37,667 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:37,672 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:37,685 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:37,687 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:37,687 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:37,751 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:37,752 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_580|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_580| ULTIMATE.start_main_p3))) (and (= .cse0 2) (= 0 (select |v_#memory_int_580| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_580| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_580| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:37:37,752 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3)) [2019-05-15 10:37:37,784 INFO L273 TraceCheckUtils]: 0: Hoare triple {18385#true} havoc main_p1, main_p2, main_p3; {18385#true} is VALID [2019-05-15 10:37:37,785 INFO L273 TraceCheckUtils]: 1: Hoare triple {18385#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {18385#true} is VALID [2019-05-15 10:37:37,785 INFO L273 TraceCheckUtils]: 2: Hoare triple {18385#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {18385#true} is VALID [2019-05-15 10:37:37,785 INFO L273 TraceCheckUtils]: 3: Hoare triple {18385#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {18385#true} is VALID [2019-05-15 10:37:37,786 INFO L273 TraceCheckUtils]: 4: Hoare triple {18385#true} assume main_p1 < main_p2; {18402#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:37,787 INFO L273 TraceCheckUtils]: 5: Hoare triple {18402#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {18406#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:37,788 INFO L273 TraceCheckUtils]: 6: Hoare triple {18406#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {18410#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:37,789 INFO L273 TraceCheckUtils]: 7: Hoare triple {18410#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {18414#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:37,791 INFO L273 TraceCheckUtils]: 8: Hoare triple {18414#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {18418#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:37,794 INFO L273 TraceCheckUtils]: 9: Hoare triple {18418#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {18422#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:37,796 INFO L273 TraceCheckUtils]: 10: Hoare triple {18422#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18426#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:37,798 INFO L273 TraceCheckUtils]: 11: Hoare triple {18426#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18430#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:37,800 INFO L273 TraceCheckUtils]: 12: Hoare triple {18430#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18434#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} is VALID [2019-05-15 10:37:37,801 INFO L273 TraceCheckUtils]: 13: Hoare triple {18434#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p3) 3))))} assume !(#memory_int[main_p1] >= 0); {18386#false} is VALID [2019-05-15 10:37:37,802 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:37,803 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:37,803 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:37,803 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:37,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:37,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:37,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:37,827 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:37,827 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:37,827 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:37,827 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:37:39,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:39,215 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:37:39,215 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:39,215 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:39,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:39,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:39,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:39,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:39,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:39,216 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:37:39,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:39,319 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:37:39,319 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:39,319 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:37:39,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:39,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:37:39,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:39,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:39,320 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:39,320 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:39,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:39,321 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:39,321 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:39,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:39,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:39,322 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:39,322 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:39,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:39,323 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:39,324 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:39,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:39,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:39,324 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:39,324 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:39,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:39,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:37:39,325 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:37:39,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:39,325 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:37:39,325 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:39,325 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:37:39,325 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:39,325 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:39,325 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:39,325 INFO L418 AbstractCegarLoop]: === Iteration 91 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:39,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:39,326 INFO L82 PathProgramCache]: Analyzing trace with hash -1124867692, now seen corresponding path program 17 times [2019-05-15 10:37:39,326 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:39,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:39,330 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:39,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:39,349 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:39,555 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:37:39,555 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,564 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:39,565 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,565 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:39,569 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:39,569 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_581|]. (and (= |#memory_int| (store |v_#memory_int_581| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,569 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,595 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,596 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:39,597 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,608 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:39,609 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:39,609 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:39,613 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:39,613 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_582|, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_582| ULTIMATE.start_main_p2 0) |#memory_int|) (= (select |v_#memory_int_582| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,613 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,646 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,648 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,650 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,650 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:39,652 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,665 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:39,666 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:39,666 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:39,709 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,711 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,712 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,713 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:39,715 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,729 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:39,730 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:39,730 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:39,735 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:39,735 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_584|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_584| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_584| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_584| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (select |v_#memory_int_584| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:39,735 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,783 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,784 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,786 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,787 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:39,789 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,802 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:39,803 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:39,803 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:39,809 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:39,809 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_585|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_585| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_585| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (store |v_#memory_int_585| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_585| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:39,809 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,849 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,851 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,853 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,854 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:39,856 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,870 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:39,871 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:39,871 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:39,877 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:39,877 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_586|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_586| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_586| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_586| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_586| ULTIMATE.start_main_p1) 1) (= .cse0 1))) [2019-05-15 10:37:39,878 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,920 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,922 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,923 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:39,924 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:39,927 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:39,939 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:39,939 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:39,940 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:39,948 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:39,948 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_587|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_587| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_587| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (= 2 (select |v_#memory_int_587| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_587| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:39,948 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:39,973 INFO L273 TraceCheckUtils]: 0: Hoare triple {18611#true} havoc main_p1, main_p2, main_p3; {18611#true} is VALID [2019-05-15 10:37:39,974 INFO L273 TraceCheckUtils]: 1: Hoare triple {18611#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {18611#true} is VALID [2019-05-15 10:37:39,974 INFO L273 TraceCheckUtils]: 2: Hoare triple {18611#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {18611#true} is VALID [2019-05-15 10:37:39,974 INFO L273 TraceCheckUtils]: 3: Hoare triple {18611#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {18611#true} is VALID [2019-05-15 10:37:39,975 INFO L273 TraceCheckUtils]: 4: Hoare triple {18611#true} assume main_p1 < main_p2; {18628#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:39,975 INFO L273 TraceCheckUtils]: 5: Hoare triple {18628#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {18632#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:39,977 INFO L273 TraceCheckUtils]: 6: Hoare triple {18632#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {18636#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:39,978 INFO L273 TraceCheckUtils]: 7: Hoare triple {18636#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {18640#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:39,980 INFO L273 TraceCheckUtils]: 8: Hoare triple {18640#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {18644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:39,982 INFO L273 TraceCheckUtils]: 9: Hoare triple {18644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {18648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:39,984 INFO L273 TraceCheckUtils]: 10: Hoare triple {18648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18652#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:39,987 INFO L273 TraceCheckUtils]: 11: Hoare triple {18652#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18656#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:39,989 INFO L273 TraceCheckUtils]: 12: Hoare triple {18656#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {18660#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:37:39,990 INFO L273 TraceCheckUtils]: 13: Hoare triple {18660#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {18612#false} is VALID [2019-05-15 10:37:39,992 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:39,992 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:39,992 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:39,992 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:39,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:39,993 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:40,014 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:40,014 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:40,015 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:40,015 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:40,015 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:37:41,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:41,199 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:41,199 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:41,199 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:41,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:41,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:41,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:41,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:41,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:41,201 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:37:41,287 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:41,288 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:37:41,289 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:41,289 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:37:41,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:41,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 30. [2019-05-15 10:37:41,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:41,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:41,291 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:41,291 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:41,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:41,292 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:41,292 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:41,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:41,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:41,293 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 43 states. [2019-05-15 10:37:41,293 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 43 states. [2019-05-15 10:37:41,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:41,294 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:41,294 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:41,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:41,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:41,294 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:41,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:41,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:37:41,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:37:41,295 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:37:41,295 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:41,295 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:37:41,295 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:41,296 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:37:41,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:41,296 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:41,296 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:41,296 INFO L418 AbstractCegarLoop]: === Iteration 92 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:41,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:41,296 INFO L82 PathProgramCache]: Analyzing trace with hash -1124873334, now seen corresponding path program 40 times [2019-05-15 10:37:41,297 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:41,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:41,301 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:41,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:41,305 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:41,337 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:37:41,337 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,346 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:41,347 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,347 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:41,351 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:41,351 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_588|]. (and (= |#memory_int| (store |v_#memory_int_588| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:41,351 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:41,381 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,382 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:41,383 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,394 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:41,395 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,395 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:41,434 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,435 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,437 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,438 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:41,440 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,452 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:41,453 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,453 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:41,501 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,502 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,504 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,504 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:41,507 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,521 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:41,522 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,522 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:41,542 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:41,542 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_591|]. (let ((.cse0 (select |v_#memory_int_591| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (store |v_#memory_int_591| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_591| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_591| ULTIMATE.start_main_p3) 0))) [2019-05-15 10:37:41,542 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:41,591 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,592 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,594 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,595 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:41,598 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,611 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:41,612 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:41,612 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:41,634 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:41,634 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_592|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_592| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_592| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_592| ULTIMATE.start_main_p2) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_592| ULTIMATE.start_main_p1)))) [2019-05-15 10:37:41,634 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:41,679 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,681 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,683 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,683 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:41,686 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,700 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:41,700 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:41,701 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:41,708 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:41,708 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_593|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_593| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_593| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (= 0 (select |v_#memory_int_593| ULTIMATE.start_main_p2)) (= 1 (select |v_#memory_int_593| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:41,708 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:41,765 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,766 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,768 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:41,769 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:41,772 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:41,786 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:41,786 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:41,787 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:43,137 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:43,137 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_594|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_594| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= 2 (select |v_#memory_int_594| ULTIMATE.start_main_p1)) (= 1 (select |v_#memory_int_594| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_594| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:43,137 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:43,172 INFO L273 TraceCheckUtils]: 0: Hoare triple {18834#true} havoc main_p1, main_p2, main_p3; {18834#true} is VALID [2019-05-15 10:37:43,172 INFO L273 TraceCheckUtils]: 1: Hoare triple {18834#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {18834#true} is VALID [2019-05-15 10:37:43,172 INFO L273 TraceCheckUtils]: 2: Hoare triple {18834#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {18834#true} is VALID [2019-05-15 10:37:43,173 INFO L273 TraceCheckUtils]: 3: Hoare triple {18834#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {18834#true} is VALID [2019-05-15 10:37:43,173 INFO L273 TraceCheckUtils]: 4: Hoare triple {18834#true} assume main_p1 < main_p2; {18851#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:43,174 INFO L273 TraceCheckUtils]: 5: Hoare triple {18851#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {18855#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:43,175 INFO L273 TraceCheckUtils]: 6: Hoare triple {18855#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {18859#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:43,176 INFO L273 TraceCheckUtils]: 7: Hoare triple {18859#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {18863#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:43,177 INFO L273 TraceCheckUtils]: 8: Hoare triple {18863#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {18867#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:43,179 INFO L273 TraceCheckUtils]: 9: Hoare triple {18867#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {18871#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:43,181 INFO L273 TraceCheckUtils]: 10: Hoare triple {18871#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18875#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:43,183 INFO L273 TraceCheckUtils]: 11: Hoare triple {18875#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {18879#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:43,186 INFO L273 TraceCheckUtils]: 12: Hoare triple {18879#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {18883#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:43,187 INFO L273 TraceCheckUtils]: 13: Hoare triple {18883#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {18835#false} is VALID [2019-05-15 10:37:43,188 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:43,189 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:43,189 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:43,189 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:43,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:43,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:43,211 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:43,212 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:43,212 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:43,212 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:43,212 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:37:44,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:44,276 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:44,276 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:44,276 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:44,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:44,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:44,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:44,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:44,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:44,278 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:37:44,358 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:44,359 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:37:44,359 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:37:44,359 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:37:44,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:37:44,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:37:44,360 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:44,361 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:44,361 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:44,361 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:44,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:44,362 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:44,362 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:44,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:44,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:44,363 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:44,363 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:44,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:44,363 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:44,363 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:44,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:44,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:44,364 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:44,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:44,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:44,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:37:44,364 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:37:44,364 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:44,364 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:37:44,364 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:44,365 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:37:44,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:44,365 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:44,365 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:44,365 INFO L418 AbstractCegarLoop]: === Iteration 93 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:44,365 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:44,365 INFO L82 PathProgramCache]: Analyzing trace with hash -1124873272, now seen corresponding path program 18 times [2019-05-15 10:37:44,366 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:44,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:44,370 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:44,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:44,400 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:44,742 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:37:44,743 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:44,750 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:44,751 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:44,751 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:44,754 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:44,754 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_595|]. (and (= (store |v_#memory_int_595| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:44,754 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:44,780 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,781 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:44,781 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:44,790 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:44,791 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:44,791 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:44,794 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:44,794 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_596|, ULTIMATE.start_main_p2]. (and (= (select |v_#memory_int_596| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_596| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:44,795 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:44,823 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,825 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,826 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,827 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:44,828 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:44,840 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:44,841 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:44,841 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:44,883 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,885 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,886 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,887 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:44,889 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:44,900 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:44,901 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:44,901 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:44,905 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:44,905 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_598|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_598| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_598| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_598| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_598| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:37:44,906 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:44,941 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,943 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,944 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:44,945 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:44,947 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:44,959 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:44,960 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:44,960 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:44,967 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:44,967 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_599|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_599| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_599| ULTIMATE.start_main_p1) 1) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_599| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_599| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:44,967 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:45,003 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:45,005 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:45,006 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:45,007 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:45,009 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:45,020 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:45,020 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:45,021 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:45,028 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:45,028 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_600|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_600| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_600| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_600| ULTIMATE.start_main_p3) 1) (= 1 .cse0) (= |#memory_int| (store |v_#memory_int_600| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:45,028 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:45,066 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:45,067 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:45,068 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:45,069 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:45,071 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:45,083 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:45,084 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:45,084 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:45,193 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:45,193 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_601|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_601| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_601| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_601| ULTIMATE.start_main_p1) 2) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_601| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:37:45,193 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:45,219 INFO L273 TraceCheckUtils]: 0: Hoare triple {19061#true} havoc main_p1, main_p2, main_p3; {19061#true} is VALID [2019-05-15 10:37:45,219 INFO L273 TraceCheckUtils]: 1: Hoare triple {19061#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {19061#true} is VALID [2019-05-15 10:37:45,220 INFO L273 TraceCheckUtils]: 2: Hoare triple {19061#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {19061#true} is VALID [2019-05-15 10:37:45,220 INFO L273 TraceCheckUtils]: 3: Hoare triple {19061#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {19061#true} is VALID [2019-05-15 10:37:45,220 INFO L273 TraceCheckUtils]: 4: Hoare triple {19061#true} assume main_p1 < main_p2; {19078#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:45,221 INFO L273 TraceCheckUtils]: 5: Hoare triple {19078#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {19082#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:45,222 INFO L273 TraceCheckUtils]: 6: Hoare triple {19082#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {19086#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:45,223 INFO L273 TraceCheckUtils]: 7: Hoare triple {19086#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {19090#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:45,224 INFO L273 TraceCheckUtils]: 8: Hoare triple {19090#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {19094#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:45,226 INFO L273 TraceCheckUtils]: 9: Hoare triple {19094#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19098#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:45,227 INFO L273 TraceCheckUtils]: 10: Hoare triple {19098#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {19102#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:45,229 INFO L273 TraceCheckUtils]: 11: Hoare triple {19102#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19106#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:45,231 INFO L273 TraceCheckUtils]: 12: Hoare triple {19106#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {19110#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:37:45,232 INFO L273 TraceCheckUtils]: 13: Hoare triple {19110#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {19062#false} is VALID [2019-05-15 10:37:45,233 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:45,233 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:45,233 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:45,233 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:45,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:45,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:45,254 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:45,254 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:45,254 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:45,255 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:45,255 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:37:46,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:46,292 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:37:46,292 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:46,292 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:46,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:46,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:46,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:46,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:46,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:46,294 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:37:46,372 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:46,373 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:37:46,373 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:46,373 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:37:46,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:46,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:37:46,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:46,378 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:46,378 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:46,378 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:46,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:46,379 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:46,379 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:46,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:46,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:46,380 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:46,380 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:46,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:46,381 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:46,381 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:46,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:46,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:46,381 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:46,381 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:46,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:46,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:37:46,382 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:37:46,382 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:46,382 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:37:46,382 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:46,383 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:37:46,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:46,383 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:46,383 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:46,383 INFO L418 AbstractCegarLoop]: === Iteration 94 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:46,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:46,383 INFO L82 PathProgramCache]: Analyzing trace with hash -1124873458, now seen corresponding path program 19 times [2019-05-15 10:37:46,384 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:46,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:46,388 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:46,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:46,407 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:46,771 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:37:46,772 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:46,779 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:46,780 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:46,780 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:46,783 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:46,783 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_602|]. (and (= (store |v_#memory_int_602| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:46,783 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:46,808 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,809 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:46,810 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:46,818 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:46,818 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:46,819 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:46,822 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:46,823 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_603|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_603| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_603| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:46,823 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:46,852 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,854 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,855 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,856 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:46,857 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:46,869 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:46,870 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:46,870 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:46,907 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,908 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,910 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,910 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:46,913 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:46,925 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:46,925 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:46,925 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:46,931 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:46,931 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_605|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_605| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_605| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_605| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_605| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:37:46,931 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:46,966 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,968 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,969 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:46,970 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:46,972 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:46,984 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:46,985 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:46,985 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:46,991 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:46,991 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_606|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_606| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_606| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_606| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_606| ULTIMATE.start_main_p1) 1))) [2019-05-15 10:37:46,991 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:47,029 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:47,031 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:47,032 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:47,033 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:47,035 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:47,048 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:47,048 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:47,049 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:47,055 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:47,056 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_607|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_607| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_607| ULTIMATE.start_main_p3) 1) (= .cse0 1) (= (select |v_#memory_int_607| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_607| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:47,056 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:47,096 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:47,098 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:47,099 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:47,100 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:47,102 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:47,115 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:47,115 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:47,116 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:47,123 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:47,124 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_608|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_608| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_608| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_608| ULTIMATE.start_main_p3) 1) (= 2 .cse0) (= (store |v_#memory_int_608| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:47,124 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:47,148 INFO L273 TraceCheckUtils]: 0: Hoare triple {19287#true} havoc main_p1, main_p2, main_p3; {19287#true} is VALID [2019-05-15 10:37:47,148 INFO L273 TraceCheckUtils]: 1: Hoare triple {19287#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {19287#true} is VALID [2019-05-15 10:37:47,148 INFO L273 TraceCheckUtils]: 2: Hoare triple {19287#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {19287#true} is VALID [2019-05-15 10:37:47,148 INFO L273 TraceCheckUtils]: 3: Hoare triple {19287#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {19287#true} is VALID [2019-05-15 10:37:47,149 INFO L273 TraceCheckUtils]: 4: Hoare triple {19287#true} assume main_p1 < main_p2; {19304#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:47,149 INFO L273 TraceCheckUtils]: 5: Hoare triple {19304#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {19308#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:47,150 INFO L273 TraceCheckUtils]: 6: Hoare triple {19308#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {19312#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:47,151 INFO L273 TraceCheckUtils]: 7: Hoare triple {19312#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {19316#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:47,152 INFO L273 TraceCheckUtils]: 8: Hoare triple {19316#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {19320#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:47,154 INFO L273 TraceCheckUtils]: 9: Hoare triple {19320#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19324#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:47,156 INFO L273 TraceCheckUtils]: 10: Hoare triple {19324#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {19328#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:47,158 INFO L273 TraceCheckUtils]: 11: Hoare triple {19328#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19332#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:37:47,160 INFO L273 TraceCheckUtils]: 12: Hoare triple {19332#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19336#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} is VALID [2019-05-15 10:37:47,161 INFO L273 TraceCheckUtils]: 13: Hoare triple {19336#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} assume !(#memory_int[main_p1] >= 0); {19288#false} is VALID [2019-05-15 10:37:47,162 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:47,162 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:47,162 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:47,163 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:47,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:47,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:47,182 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:47,183 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:47,183 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:47,183 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:47,183 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:37:48,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:48,216 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:48,216 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:48,216 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:48,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:48,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:48,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:48,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:48,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:48,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:37:48,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:48,301 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:37:48,301 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:48,302 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:37:48,302 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:48,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2019-05-15 10:37:48,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:48,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 29 states. [2019-05-15 10:37:48,303 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 29 states. [2019-05-15 10:37:48,303 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 29 states. [2019-05-15 10:37:48,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:48,303 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:48,304 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:48,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:48,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:48,304 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 43 states. [2019-05-15 10:37:48,304 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 43 states. [2019-05-15 10:37:48,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:48,305 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:48,305 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:48,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:48,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:48,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:48,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:48,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:37:48,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:37:48,306 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:37:48,306 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:48,306 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:37:48,306 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:48,306 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:37:48,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:48,306 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:48,306 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:48,306 INFO L418 AbstractCegarLoop]: === Iteration 95 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:48,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:48,307 INFO L82 PathProgramCache]: Analyzing trace with hash -1125048236, now seen corresponding path program 20 times [2019-05-15 10:37:48,307 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:48,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:48,310 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:48,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:48,314 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:48,367 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:37:48,367 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,375 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:48,376 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,376 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:48,379 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:48,379 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_609|]. (and (= (store |v_#memory_int_609| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,380 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,403 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,404 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:48,405 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,415 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:48,415 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,415 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:48,450 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,451 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,452 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,453 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:48,454 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,465 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:48,466 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:48,466 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:48,470 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:48,470 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_611|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_611| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_611| ULTIMATE.start_main_p3 0) |#memory_int|) (= 0 (select |v_#memory_int_611| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,470 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,508 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,509 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,510 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,511 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:48,513 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,525 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:48,526 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:48,526 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:48,543 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:48,544 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_612|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_612| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_612| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_612| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_612| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:48,544 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,582 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,583 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,584 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,585 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:48,587 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,599 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:48,599 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:48,599 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:48,611 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:48,611 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_613|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_613| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_613| ULTIMATE.start_main_p2) 0) (= 1 .cse0) (= (select |v_#memory_int_613| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_613| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:48,612 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,651 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,652 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,654 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,655 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:48,657 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,669 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:48,670 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:48,670 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:48,674 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:48,675 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_614|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_614| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (select |v_#memory_int_614| ULTIMATE.start_main_p1) 2) (= (select |v_#memory_int_614| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_614| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:48,675 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,720 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,721 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,722 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:48,724 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:48,787 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:48,824 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:48,824 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:48,824 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:48,845 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:48,845 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_615|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_615| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 1)) (= (select |v_#memory_int_615| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_615| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_615| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:48,845 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:48,867 INFO L273 TraceCheckUtils]: 0: Hoare triple {19509#true} havoc main_p1, main_p2, main_p3; {19509#true} is VALID [2019-05-15 10:37:48,868 INFO L273 TraceCheckUtils]: 1: Hoare triple {19509#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {19509#true} is VALID [2019-05-15 10:37:48,868 INFO L273 TraceCheckUtils]: 2: Hoare triple {19509#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {19509#true} is VALID [2019-05-15 10:37:48,868 INFO L273 TraceCheckUtils]: 3: Hoare triple {19509#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {19509#true} is VALID [2019-05-15 10:37:48,868 INFO L273 TraceCheckUtils]: 4: Hoare triple {19509#true} assume main_p1 < main_p2; {19526#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:48,869 INFO L273 TraceCheckUtils]: 5: Hoare triple {19526#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {19530#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:48,870 INFO L273 TraceCheckUtils]: 6: Hoare triple {19530#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {19534#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:48,870 INFO L273 TraceCheckUtils]: 7: Hoare triple {19534#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {19538#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:48,871 INFO L273 TraceCheckUtils]: 8: Hoare triple {19538#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {19542#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:48,873 INFO L273 TraceCheckUtils]: 9: Hoare triple {19542#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19546#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:48,875 INFO L273 TraceCheckUtils]: 10: Hoare triple {19546#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19550#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:48,877 INFO L273 TraceCheckUtils]: 11: Hoare triple {19550#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19554#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:48,879 INFO L273 TraceCheckUtils]: 12: Hoare triple {19554#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19558#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:37:48,879 INFO L273 TraceCheckUtils]: 13: Hoare triple {19558#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {19510#false} is VALID [2019-05-15 10:37:48,881 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:48,881 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:48,881 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:48,881 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:48,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:48,882 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:48,900 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:48,900 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:48,901 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:48,901 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:48,901 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 11 states. [2019-05-15 10:37:50,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:50,040 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:50,040 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:50,040 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:50,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:50,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:50,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:50,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:50,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:50,042 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:37:50,129 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:50,130 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:37:50,130 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:37:50,130 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:37:50,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:37:50,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:37:50,132 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:50,132 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:50,132 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:50,132 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:50,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:50,133 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:50,133 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:50,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:50,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:50,134 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:50,134 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:50,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:50,135 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:50,135 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:50,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:50,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:50,135 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:50,135 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:50,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:50,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:37:50,136 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:37:50,136 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:50,136 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:37:50,136 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:50,136 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:37:50,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:50,136 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:50,136 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:50,137 INFO L418 AbstractCegarLoop]: === Iteration 96 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:50,137 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:50,137 INFO L82 PathProgramCache]: Analyzing trace with hash -1125048174, now seen corresponding path program 41 times [2019-05-15 10:37:50,137 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:50,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:50,140 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:50,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:50,148 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:50,179 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:37:50,180 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,188 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:50,188 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,188 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:50,191 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:50,191 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_616|]. (and (= (store |v_#memory_int_616| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:50,191 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:50,218 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,219 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:50,220 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,230 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:50,230 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,230 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:50,267 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,268 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,270 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,270 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:50,272 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,284 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:50,284 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,285 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:50,330 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,331 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,332 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,332 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:50,334 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,346 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:50,346 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,347 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:50,362 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:50,363 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_619|]. (let ((.cse0 (select |v_#memory_int_619| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_619| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_619| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_619| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:50,363 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:50,405 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,406 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,407 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,408 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:50,411 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,423 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:50,423 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,424 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:50,435 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:50,435 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_620|]. (let ((.cse0 (select |v_#memory_int_620| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_620| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 1) (= (select |v_#memory_int_620| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_620| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:50,436 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:50,480 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,482 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,483 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,484 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:50,486 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,498 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:50,498 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:50,498 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:50,523 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:50,523 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_621|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_621| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_621| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 2 (select |v_#memory_int_621| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_621| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-05-15 10:37:50,523 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:50,567 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,569 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,570 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:50,571 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:50,574 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:50,593 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:50,596 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:50,596 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:50,604 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:50,605 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_622|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_622| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_622| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 2 (select |v_#memory_int_622| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |v_#memory_int_622| ULTIMATE.start_main_p2) 1)))) [2019-05-15 10:37:50,605 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:50,625 INFO L273 TraceCheckUtils]: 0: Hoare triple {19740#true} havoc main_p1, main_p2, main_p3; {19740#true} is VALID [2019-05-15 10:37:50,626 INFO L273 TraceCheckUtils]: 1: Hoare triple {19740#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {19740#true} is VALID [2019-05-15 10:37:50,626 INFO L273 TraceCheckUtils]: 2: Hoare triple {19740#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {19740#true} is VALID [2019-05-15 10:37:50,626 INFO L273 TraceCheckUtils]: 3: Hoare triple {19740#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {19740#true} is VALID [2019-05-15 10:37:50,626 INFO L273 TraceCheckUtils]: 4: Hoare triple {19740#true} assume main_p1 < main_p2; {19757#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:50,627 INFO L273 TraceCheckUtils]: 5: Hoare triple {19757#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {19761#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:50,628 INFO L273 TraceCheckUtils]: 6: Hoare triple {19761#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {19765#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:50,629 INFO L273 TraceCheckUtils]: 7: Hoare triple {19765#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {19769#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:50,630 INFO L273 TraceCheckUtils]: 8: Hoare triple {19769#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {19773#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:50,632 INFO L273 TraceCheckUtils]: 9: Hoare triple {19773#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19777#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:50,633 INFO L273 TraceCheckUtils]: 10: Hoare triple {19777#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19781#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:50,634 INFO L273 TraceCheckUtils]: 11: Hoare triple {19781#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19785#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:37:50,637 INFO L273 TraceCheckUtils]: 12: Hoare triple {19785#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {19789#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:37:50,638 INFO L273 TraceCheckUtils]: 13: Hoare triple {19789#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {19741#false} is VALID [2019-05-15 10:37:50,639 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:50,639 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:50,639 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:50,640 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:50,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:50,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:50,659 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:50,660 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:50,660 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:50,660 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:50,660 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:37:51,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:51,472 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:37:51,472 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:51,472 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:51,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:51,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:51,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:51,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:51,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:51,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:37:51,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:51,556 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:37:51,556 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:51,557 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:37:51,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:51,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:37:51,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:51,558 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:51,558 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:51,558 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:51,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:51,559 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:51,559 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:51,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:51,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:51,560 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:51,560 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:51,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:51,560 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:51,560 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:51,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:51,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:51,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:51,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:51,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:51,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:37:51,561 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:37:51,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:51,561 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:37:51,562 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:51,562 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:37:51,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:51,562 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:51,562 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:51,562 INFO L418 AbstractCegarLoop]: === Iteration 97 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:51,562 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:51,562 INFO L82 PathProgramCache]: Analyzing trace with hash -1125048360, now seen corresponding path program 21 times [2019-05-15 10:37:51,563 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:51,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:51,566 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:51,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:51,569 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:51,598 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:37:51,598 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,606 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:51,606 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,606 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:51,609 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:51,609 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_623|]. (and (= (store |v_#memory_int_623| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:51,609 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:51,635 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,635 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:51,636 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,646 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:51,647 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,647 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:51,680 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,682 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,683 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,684 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:51,685 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,696 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:51,696 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:51,697 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:51,701 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:51,701 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_625|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_625| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_625| ULTIMATE.start_main_p3 0) |#memory_int|) (= 0 (select |v_#memory_int_625| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:51,701 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:51,739 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,740 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,742 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,742 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:51,744 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,757 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:51,757 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:51,757 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:51,771 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:51,771 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_626|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_626| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_626| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_626| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_626| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-05-15 10:37:51,771 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:51,807 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,809 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,810 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,811 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:51,813 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,823 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:51,824 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:51,824 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:51,836 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:51,836 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_627|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_627| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_627| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 1) (= 0 (select |v_#memory_int_627| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_627| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:51,836 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:51,876 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,877 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,878 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,879 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:51,881 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,892 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:51,893 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:51,893 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:51,902 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:51,902 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_628|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_628| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_628| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_628| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_628| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:51,902 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:51,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,943 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,945 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:51,945 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:37:51,948 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:51,960 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:51,963 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:51,963 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:37:51,967 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:51,967 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_629|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_629| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_629| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 2) (= 0 (select |v_#memory_int_629| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_629| ULTIMATE.start_main_p2) 1) 0))) [2019-05-15 10:37:51,968 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:37:51,995 INFO L273 TraceCheckUtils]: 0: Hoare triple {19958#true} havoc main_p1, main_p2, main_p3; {19958#true} is VALID [2019-05-15 10:37:51,996 INFO L273 TraceCheckUtils]: 1: Hoare triple {19958#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {19958#true} is VALID [2019-05-15 10:37:51,996 INFO L273 TraceCheckUtils]: 2: Hoare triple {19958#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {19958#true} is VALID [2019-05-15 10:37:51,996 INFO L273 TraceCheckUtils]: 3: Hoare triple {19958#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {19958#true} is VALID [2019-05-15 10:37:51,996 INFO L273 TraceCheckUtils]: 4: Hoare triple {19958#true} assume main_p1 < main_p2; {19975#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:51,997 INFO L273 TraceCheckUtils]: 5: Hoare triple {19975#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {19979#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:51,997 INFO L273 TraceCheckUtils]: 6: Hoare triple {19979#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {19983#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:51,998 INFO L273 TraceCheckUtils]: 7: Hoare triple {19983#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {19987#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:51,999 INFO L273 TraceCheckUtils]: 8: Hoare triple {19987#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {19991#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:52,001 INFO L273 TraceCheckUtils]: 9: Hoare triple {19991#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19995#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:52,003 INFO L273 TraceCheckUtils]: 10: Hoare triple {19995#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19999#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:52,005 INFO L273 TraceCheckUtils]: 11: Hoare triple {19999#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {20003#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:52,007 INFO L273 TraceCheckUtils]: 12: Hoare triple {20003#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20007#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} is VALID [2019-05-15 10:37:52,007 INFO L273 TraceCheckUtils]: 13: Hoare triple {20007#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} assume !(#memory_int[main_p1] >= 0); {19959#false} is VALID [2019-05-15 10:37:52,008 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:52,008 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:52,009 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:52,009 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:52,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:52,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:52,031 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:52,032 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:52,032 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:52,032 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:52,032 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:37:53,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:53,108 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:53,108 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:53,108 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:53,108 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:53,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:53,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:53,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:53,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:37:53,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:37:53,185 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:53,186 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:37:53,186 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:53,187 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:37:53,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:53,188 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 30. [2019-05-15 10:37:53,188 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:53,188 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:53,188 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:53,188 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 30 states. [2019-05-15 10:37:53,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:53,189 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:53,189 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:53,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:53,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:53,190 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 43 states. [2019-05-15 10:37:53,190 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 43 states. [2019-05-15 10:37:53,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:53,190 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:53,190 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:53,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:53,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:53,191 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:53,191 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:53,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:37:53,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:37:53,191 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:37:53,191 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:53,192 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:37:53,192 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:53,192 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:37:53,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:53,192 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:53,192 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:53,192 INFO L418 AbstractCegarLoop]: === Iteration 98 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:53,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:53,192 INFO L82 PathProgramCache]: Analyzing trace with hash -1125046314, now seen corresponding path program 42 times [2019-05-15 10:37:53,193 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:53,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:53,196 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:53,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:53,214 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:53,280 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:37:53,281 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,289 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:53,289 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,289 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:53,292 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:53,293 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_630|]. (and (= (store |v_#memory_int_630| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:53,293 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:53,320 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,321 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:53,322 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,332 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:53,332 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,333 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:53,368 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,370 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,371 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,372 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:53,373 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,386 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:53,386 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,386 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:53,429 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,430 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,432 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,432 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:53,435 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,447 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:53,447 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,448 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:53,459 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:53,460 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_633|]. (let ((.cse0 (select |v_#memory_int_633| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_633| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_633| ULTIMATE.start_main_p2)) (= 0 .cse0) (= 0 (select |v_#memory_int_633| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:53,460 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:53,500 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,501 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,503 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,504 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:53,506 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,519 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:53,519 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,519 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:53,532 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:53,533 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_634|]. (let ((.cse0 (select |v_#memory_int_634| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_634| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_634| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_634| ULTIMATE.start_main_p3) 0) (= .cse0 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:53,533 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:53,574 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,576 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,577 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,578 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:53,580 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,593 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:53,594 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:53,594 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:53,614 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:53,615 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_635|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_635| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_635| ULTIMATE.start_main_p1) 2) (= (select |v_#memory_int_635| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_635| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:53,615 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:53,668 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,669 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,671 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:53,671 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:53,673 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:53,686 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:53,686 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:53,687 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:37:53,716 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:53,717 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_636|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_636| ULTIMATE.start_main_p2))) (and (= 2 (select |v_#memory_int_636| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 1 (select |v_#memory_int_636| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_636| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:53,717 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:53,738 INFO L273 TraceCheckUtils]: 0: Hoare triple {20179#true} havoc main_p1, main_p2, main_p3; {20179#true} is VALID [2019-05-15 10:37:53,739 INFO L273 TraceCheckUtils]: 1: Hoare triple {20179#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {20179#true} is VALID [2019-05-15 10:37:53,739 INFO L273 TraceCheckUtils]: 2: Hoare triple {20179#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {20179#true} is VALID [2019-05-15 10:37:53,739 INFO L273 TraceCheckUtils]: 3: Hoare triple {20179#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {20179#true} is VALID [2019-05-15 10:37:53,740 INFO L273 TraceCheckUtils]: 4: Hoare triple {20179#true} assume main_p1 < main_p2; {20196#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:53,740 INFO L273 TraceCheckUtils]: 5: Hoare triple {20196#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {20200#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:53,741 INFO L273 TraceCheckUtils]: 6: Hoare triple {20200#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {20204#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:53,742 INFO L273 TraceCheckUtils]: 7: Hoare triple {20204#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {20208#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:53,744 INFO L273 TraceCheckUtils]: 8: Hoare triple {20208#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {20212#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:53,745 INFO L273 TraceCheckUtils]: 9: Hoare triple {20212#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20216#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:53,746 INFO L273 TraceCheckUtils]: 10: Hoare triple {20216#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20220#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:53,748 INFO L273 TraceCheckUtils]: 11: Hoare triple {20220#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20224#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:53,750 INFO L273 TraceCheckUtils]: 12: Hoare triple {20224#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {20228#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:53,751 INFO L273 TraceCheckUtils]: 13: Hoare triple {20228#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {20180#false} is VALID [2019-05-15 10:37:53,752 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:53,752 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:53,752 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:53,752 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:53,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:53,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:53,771 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:53,771 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:53,772 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:53,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:53,772 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:37:54,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:54,675 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:54,675 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:54,675 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:54,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:54,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:54,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:54,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:54,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:37:54,676 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:37:54,757 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:54,758 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:37:54,758 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:37:54,758 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2019-05-15 10:37:54,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:37:54,759 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:37:54,759 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:54,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:54,760 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:54,760 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:37:54,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:54,761 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:54,761 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:54,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:54,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:54,761 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:54,761 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:37:54,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:54,762 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:37:54,762 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:37:54,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:54,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:54,763 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:54,763 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:54,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:54,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:37:54,764 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:37:54,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:54,764 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:37:54,764 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:54,764 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:37:54,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:54,765 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:54,765 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:54,765 INFO L418 AbstractCegarLoop]: === Iteration 99 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:54,765 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:54,765 INFO L82 PathProgramCache]: Analyzing trace with hash -1125046252, now seen corresponding path program 20 times [2019-05-15 10:37:54,766 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:54,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:54,769 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:54,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:54,787 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:54,814 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:37:54,815 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:54,823 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:54,823 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:54,824 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:54,827 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:54,827 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_637|]. (and (= |#memory_int| (store |v_#memory_int_637| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:54,827 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:54,850 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:54,851 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:54,852 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:54,862 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:54,863 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:54,863 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:54,866 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:54,866 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_638|, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_638| ULTIMATE.start_main_p2 0)) (= 0 (select |v_#memory_int_638| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:54,867 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:54,898 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:54,899 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:54,900 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:54,901 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:54,903 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:54,914 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:54,915 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:54,915 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:54,955 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:54,956 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:54,957 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:54,958 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:54,960 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:54,972 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:54,973 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:54,973 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:54,977 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:54,977 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_640|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_640| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_640| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_640| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_640| ULTIMATE.start_main_p2)) (= 0 .cse0))) [2019-05-15 10:37:54,977 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:55,014 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,015 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,017 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,017 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:55,019 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:55,031 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:55,032 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:55,032 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:55,042 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:55,042 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_641|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_641| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_641| ULTIMATE.start_main_p2) 0) (= .cse0 1) (= (select |v_#memory_int_641| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_641| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:37:55,042 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:55,079 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,080 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,082 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,082 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:55,085 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:55,096 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:55,096 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:55,097 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:55,103 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:55,103 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_642|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_642| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_642| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_642| ULTIMATE.start_main_p1) 2) (= 0 (select |v_#memory_int_642| ULTIMATE.start_main_p2)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:55,103 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:55,146 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,148 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,149 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:55,150 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:55,152 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:55,165 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:55,165 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:55,165 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:55,227 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:55,228 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_643|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_643| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_643| ULTIMATE.start_main_p2) 0) (= 2 (select |v_#memory_int_643| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_643| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:55,228 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:55,255 INFO L273 TraceCheckUtils]: 0: Hoare triple {20404#true} havoc main_p1, main_p2, main_p3; {20404#true} is VALID [2019-05-15 10:37:55,256 INFO L273 TraceCheckUtils]: 1: Hoare triple {20404#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {20404#true} is VALID [2019-05-15 10:37:55,256 INFO L273 TraceCheckUtils]: 2: Hoare triple {20404#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {20404#true} is VALID [2019-05-15 10:37:55,256 INFO L273 TraceCheckUtils]: 3: Hoare triple {20404#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {20404#true} is VALID [2019-05-15 10:37:55,256 INFO L273 TraceCheckUtils]: 4: Hoare triple {20404#true} assume main_p1 < main_p2; {20421#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:37:55,257 INFO L273 TraceCheckUtils]: 5: Hoare triple {20421#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {20425#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:55,258 INFO L273 TraceCheckUtils]: 6: Hoare triple {20425#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {20429#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:37:55,259 INFO L273 TraceCheckUtils]: 7: Hoare triple {20429#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {20433#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:55,261 INFO L273 TraceCheckUtils]: 8: Hoare triple {20433#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {20437#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:55,263 INFO L273 TraceCheckUtils]: 9: Hoare triple {20437#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20441#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:55,265 INFO L273 TraceCheckUtils]: 10: Hoare triple {20441#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:55,266 INFO L273 TraceCheckUtils]: 11: Hoare triple {20445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20449#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:37:55,268 INFO L273 TraceCheckUtils]: 12: Hoare triple {20449#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20453#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:37:55,269 INFO L273 TraceCheckUtils]: 13: Hoare triple {20453#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {20405#false} is VALID [2019-05-15 10:37:55,270 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:37:55,271 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:37:55,271 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:37:55,271 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:55,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:37:55,271 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:37:55,292 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:55,293 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:37:55,293 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:37:55,293 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:37:55,293 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:37:56,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:56,399 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:37:56,399 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:37:56,399 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:37:56,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:37:56,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:56,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:56,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:37:56,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:37:56,400 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:37:56,489 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:37:56,490 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:37:56,490 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:37:56,491 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:37:56,491 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:37:56,492 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:37:56,492 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:37:56,492 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:56,492 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:56,492 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:37:56,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:56,493 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:56,493 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:56,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:56,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:56,493 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:56,493 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:37:56,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:37:56,494 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:37:56,494 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:37:56,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:37:56,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:37:56,494 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:37:56,494 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:37:56,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:37:56,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:37:56,495 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:37:56,495 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:37:56,495 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:37:56,495 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:37:56,495 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:37:56,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:37:56,496 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:37:56,496 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:37:56,496 INFO L418 AbstractCegarLoop]: === Iteration 100 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:37:56,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:37:56,496 INFO L82 PathProgramCache]: Analyzing trace with hash -1125046438, now seen corresponding path program 21 times [2019-05-15 10:37:56,497 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:37:56,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:56,500 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:37:56,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:37:56,517 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:37:56,551 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:37:56,552 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:56,559 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:56,559 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:37:56,559 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:37:56,563 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:56,563 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_644|]. (and (= (store |v_#memory_int_644| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:56,563 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:56,593 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,593 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:37:56,594 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:56,603 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:56,604 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:56,604 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:37:56,608 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:56,608 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_645|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_645| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_645| ULTIMATE.start_main_p2 0) |#memory_int|)) [2019-05-15 10:37:56,608 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:56,638 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,639 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,641 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,641 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:37:56,643 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:56,655 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:56,656 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:56,656 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:37:56,697 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,698 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,700 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,701 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:56,703 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:56,715 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:56,716 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:56,716 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:56,720 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:56,720 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_647|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_647| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_647| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_647| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_647| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:56,720 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:56,758 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,760 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,761 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,762 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:56,764 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:56,775 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:56,776 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:56,776 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:37:56,786 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:37:56,786 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_648|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_648| ULTIMATE.start_main_p1))) (and (= 1 .cse0) (= 0 (select |v_#memory_int_648| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_648| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_648| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:37:56,786 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:37:56,830 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,831 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,833 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:37:56,833 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:37:56,835 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:37:56,845 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:37:56,846 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:37:56,846 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:09,680 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:09,680 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_649|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_649| ULTIMATE.start_main_p3))) (and (= 2 (select |v_#memory_int_649| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_649| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_649| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:09,681 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:10,883 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:10,884 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:10,886 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:10,887 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:10,889 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:10,902 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:10,903 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:10,903 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:10,910 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:10,910 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_650|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_650| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_650| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_650| ULTIMATE.start_main_p3) 1) (= .cse0 2) (= (select |v_#memory_int_650| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:10,911 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:10,937 INFO L273 TraceCheckUtils]: 0: Hoare triple {20630#true} havoc main_p1, main_p2, main_p3; {20630#true} is VALID [2019-05-15 10:38:10,937 INFO L273 TraceCheckUtils]: 1: Hoare triple {20630#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {20630#true} is VALID [2019-05-15 10:38:10,937 INFO L273 TraceCheckUtils]: 2: Hoare triple {20630#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {20630#true} is VALID [2019-05-15 10:38:10,938 INFO L273 TraceCheckUtils]: 3: Hoare triple {20630#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {20630#true} is VALID [2019-05-15 10:38:10,954 INFO L273 TraceCheckUtils]: 4: Hoare triple {20630#true} assume main_p1 < main_p2; {20647#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:10,957 INFO L273 TraceCheckUtils]: 5: Hoare triple {20647#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {20651#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:10,958 INFO L273 TraceCheckUtils]: 6: Hoare triple {20651#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {20655#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:10,959 INFO L273 TraceCheckUtils]: 7: Hoare triple {20655#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {20659#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:10,960 INFO L273 TraceCheckUtils]: 8: Hoare triple {20659#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {20663#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:10,962 INFO L273 TraceCheckUtils]: 9: Hoare triple {20663#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20667#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:10,964 INFO L273 TraceCheckUtils]: 10: Hoare triple {20667#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20671#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:10,966 INFO L273 TraceCheckUtils]: 11: Hoare triple {20671#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20675#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:38:10,967 INFO L273 TraceCheckUtils]: 12: Hoare triple {20675#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20679#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} is VALID [2019-05-15 10:38:10,968 INFO L273 TraceCheckUtils]: 13: Hoare triple {20679#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} assume !(#memory_int[main_p1] >= 0); {20631#false} is VALID [2019-05-15 10:38:10,970 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:10,970 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:10,970 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:38:10,971 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:10,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:10,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:38:10,993 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:10,994 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:38:10,994 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:38:10,994 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:38:10,994 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:38:12,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:12,116 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:12,116 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:38:12,116 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:12,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:12,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:12,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:38:12,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:12,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:38:12,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:38:12,202 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:12,202 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:38:12,203 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:38:12,203 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:38:12,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:38:12,204 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 30. [2019-05-15 10:38:12,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:12,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 30 states. [2019-05-15 10:38:12,204 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 30 states. [2019-05-15 10:38:12,205 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 30 states. [2019-05-15 10:38:12,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:12,205 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:12,205 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:38:12,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:12,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:12,206 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 43 states. [2019-05-15 10:38:12,206 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 43 states. [2019-05-15 10:38:12,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:12,206 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:12,207 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:38:12,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:12,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:12,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:12,207 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:12,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:38:12,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:38:12,207 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 14 [2019-05-15 10:38:12,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:12,208 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:38:12,208 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:38:12,208 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:38:12,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:38:12,208 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:12,208 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:12,208 INFO L418 AbstractCegarLoop]: === Iteration 101 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:12,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:12,209 INFO L82 PathProgramCache]: Analyzing trace with hash -1125052080, now seen corresponding path program 22 times [2019-05-15 10:38:12,209 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:12,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:12,212 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:38:12,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:12,216 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:12,246 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:38:12,247 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,255 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:12,255 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,255 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:12,259 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:12,259 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_651|]. (and (= (store |v_#memory_int_651| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:12,259 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:12,285 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,285 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:12,286 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,295 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:12,296 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,296 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:12,330 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,331 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,332 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,333 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:12,335 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,347 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:12,347 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:12,348 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:12,351 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:12,351 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_653|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_653| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_653| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_653| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:12,351 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:12,387 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,389 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,390 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,391 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:12,393 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,405 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:12,406 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:12,406 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:12,416 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:12,416 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_654|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_654| ULTIMATE.start_main_p1))) (and (= .cse0 0) (= (store |v_#memory_int_654| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_654| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_654| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:12,416 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:12,457 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,458 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,460 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,460 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:12,463 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,475 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:12,475 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:12,476 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:12,487 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:12,488 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_655|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_655| ULTIMATE.start_main_p1))) (and (= 1 .cse0) (= (store |v_#memory_int_655| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_655| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_655| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:12,488 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:12,531 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,532 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,533 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,534 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:12,536 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,549 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:12,549 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:12,549 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:12,559 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:12,560 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_656|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_656| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_656| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_656| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 2 .cse0) (= (select |v_#memory_int_656| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:12,560 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:12,603 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,604 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,606 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:12,606 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:12,608 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:12,620 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:12,620 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:12,620 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:38:15,691 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:15,691 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_657|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_657| ULTIMATE.start_main_p2))) (and (= 3 (select |v_#memory_int_657| ULTIMATE.start_main_p1)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_657| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_657| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:15,691 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:15,721 INFO L273 TraceCheckUtils]: 0: Hoare triple {20853#true} havoc main_p1, main_p2, main_p3; {20853#true} is VALID [2019-05-15 10:38:15,721 INFO L273 TraceCheckUtils]: 1: Hoare triple {20853#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {20853#true} is VALID [2019-05-15 10:38:15,722 INFO L273 TraceCheckUtils]: 2: Hoare triple {20853#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {20853#true} is VALID [2019-05-15 10:38:15,722 INFO L273 TraceCheckUtils]: 3: Hoare triple {20853#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {20853#true} is VALID [2019-05-15 10:38:15,722 INFO L273 TraceCheckUtils]: 4: Hoare triple {20853#true} assume main_p1 < main_p2; {20870#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:15,723 INFO L273 TraceCheckUtils]: 5: Hoare triple {20870#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {20874#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:15,724 INFO L273 TraceCheckUtils]: 6: Hoare triple {20874#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {20878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:15,725 INFO L273 TraceCheckUtils]: 7: Hoare triple {20878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {20882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:15,727 INFO L273 TraceCheckUtils]: 8: Hoare triple {20882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {20886#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:15,729 INFO L273 TraceCheckUtils]: 9: Hoare triple {20886#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20890#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:15,731 INFO L273 TraceCheckUtils]: 10: Hoare triple {20890#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20894#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:15,732 INFO L273 TraceCheckUtils]: 11: Hoare triple {20894#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20898#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:15,733 INFO L273 TraceCheckUtils]: 12: Hoare triple {20898#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {20902#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:15,734 INFO L273 TraceCheckUtils]: 13: Hoare triple {20902#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {20854#false} is VALID [2019-05-15 10:38:15,736 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:15,736 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:15,736 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:38:15,736 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:15,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:15,737 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:38:15,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:15,758 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:38:15,758 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:38:15,758 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:38:15,759 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 11 states. [2019-05-15 10:38:16,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:16,897 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:38:16,897 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:38:16,897 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:16,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:16,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:16,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:38:16,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:16,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2019-05-15 10:38:16,898 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2019-05-15 10:38:16,985 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:16,985 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:38:16,986 INFO L226 Difference]: Without dead ends: 46 [2019-05-15 10:38:16,986 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:38:16,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-05-15 10:38:16,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 31. [2019-05-15 10:38:16,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:16,988 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 31 states. [2019-05-15 10:38:16,988 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 31 states. [2019-05-15 10:38:16,988 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 31 states. [2019-05-15 10:38:16,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:16,989 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:38:16,989 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:38:16,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:16,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:16,989 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 46 states. [2019-05-15 10:38:16,989 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 46 states. [2019-05-15 10:38:16,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:16,990 INFO L93 Difference]: Finished difference Result 46 states and 83 transitions. [2019-05-15 10:38:16,990 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 83 transitions. [2019-05-15 10:38:16,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:16,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:16,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:16,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:16,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:38:16,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:38:16,991 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 14 [2019-05-15 10:38:16,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:16,991 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:38:16,991 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:38:16,991 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:38:16,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:38:16,991 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:16,992 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:16,992 INFO L418 AbstractCegarLoop]: === Iteration 102 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:16,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:16,992 INFO L82 PathProgramCache]: Analyzing trace with hash -1125052018, now seen corresponding path program 22 times [2019-05-15 10:38:16,992 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:16,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:16,995 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:38:17,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:17,001 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:17,032 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:38:17,033 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,041 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:17,041 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,042 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:17,045 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:17,045 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_658|]. (and (= |#memory_int| (store |v_#memory_int_658| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,045 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,104 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,105 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:17,106 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,115 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:17,116 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:17,116 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:17,120 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:17,120 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_659|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_659| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_659| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,120 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,156 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,157 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,159 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,160 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:17,161 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,172 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:17,172 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:17,173 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:17,207 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,209 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,210 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,211 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:17,213 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,225 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:17,225 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:17,226 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:17,231 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:17,231 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_661|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_661| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_661| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= 0 (select |v_#memory_int_661| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_661| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:17,231 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,266 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,267 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,268 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,269 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:17,271 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,282 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:17,283 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:17,283 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:17,290 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:17,290 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_662|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_662| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_662| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 1) (= 0 (select |v_#memory_int_662| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_662| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:17,291 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,327 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,328 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,329 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,330 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:17,332 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,344 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:17,345 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:17,345 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:17,355 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:17,355 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_663|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_663| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_663| ULTIMATE.start_main_p2) 0) (= .cse0 2) (= (select |v_#memory_int_663| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_663| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:17,355 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,393 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,394 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,395 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:17,396 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:17,407 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:17,418 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:17,418 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:17,419 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:17,434 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:17,434 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_664|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_664| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_664| ULTIMATE.start_main_p2)) (= 3 (select |v_#memory_int_664| ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store |v_#memory_int_664| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:17,434 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:17,458 INFO L273 TraceCheckUtils]: 0: Hoare triple {21084#true} havoc main_p1, main_p2, main_p3; {21084#true} is VALID [2019-05-15 10:38:17,459 INFO L273 TraceCheckUtils]: 1: Hoare triple {21084#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {21084#true} is VALID [2019-05-15 10:38:17,459 INFO L273 TraceCheckUtils]: 2: Hoare triple {21084#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {21084#true} is VALID [2019-05-15 10:38:17,459 INFO L273 TraceCheckUtils]: 3: Hoare triple {21084#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {21084#true} is VALID [2019-05-15 10:38:17,460 INFO L273 TraceCheckUtils]: 4: Hoare triple {21084#true} assume main_p1 < main_p2; {21101#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:17,460 INFO L273 TraceCheckUtils]: 5: Hoare triple {21101#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {21105#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:17,461 INFO L273 TraceCheckUtils]: 6: Hoare triple {21105#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {21109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:17,463 INFO L273 TraceCheckUtils]: 7: Hoare triple {21109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {21113#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:17,464 INFO L273 TraceCheckUtils]: 8: Hoare triple {21113#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {21117#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:17,466 INFO L273 TraceCheckUtils]: 9: Hoare triple {21117#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21121#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:17,468 INFO L273 TraceCheckUtils]: 10: Hoare triple {21121#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:17,470 INFO L273 TraceCheckUtils]: 11: Hoare triple {21125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:17,471 INFO L273 TraceCheckUtils]: 12: Hoare triple {21129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21133#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} is VALID [2019-05-15 10:38:17,472 INFO L273 TraceCheckUtils]: 13: Hoare triple {21133#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 3))} assume !(#memory_int[main_p1] >= 0); {21085#false} is VALID [2019-05-15 10:38:17,473 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:17,474 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:17,474 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:38:17,474 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:17,474 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:17,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:38:17,495 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:17,495 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:38:17,495 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:38:17,495 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:38:17,495 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 11 states. [2019-05-15 10:38:18,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:18,558 INFO L93 Difference]: Finished difference Result 45 states and 82 transitions. [2019-05-15 10:38:18,558 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:38:18,558 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:18,558 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:18,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:18,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:38:18,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:18,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 53 transitions. [2019-05-15 10:38:18,560 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 53 transitions. [2019-05-15 10:38:18,649 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:18,650 INFO L225 Difference]: With dead ends: 45 [2019-05-15 10:38:18,650 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:38:18,650 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:38:18,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:38:18,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2019-05-15 10:38:18,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:18,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 31 states. [2019-05-15 10:38:18,652 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 31 states. [2019-05-15 10:38:18,652 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 31 states. [2019-05-15 10:38:18,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:18,653 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:18,653 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:38:18,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:18,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:18,654 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 43 states. [2019-05-15 10:38:18,654 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 43 states. [2019-05-15 10:38:18,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:18,655 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:18,655 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:38:18,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:18,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:18,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:18,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:18,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:38:18,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:38:18,656 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 14 [2019-05-15 10:38:18,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:18,656 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:38:18,656 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:38:18,656 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:38:18,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:38:18,657 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:18,657 INFO L399 BasicCegarLoop]: trace histogram [4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:18,657 INFO L418 AbstractCegarLoop]: === Iteration 103 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:18,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:18,657 INFO L82 PathProgramCache]: Analyzing trace with hash -1125052204, now seen corresponding path program 4 times [2019-05-15 10:38:18,658 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:18,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:18,661 INFO L256 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:38:18,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:18,668 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:18,698 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:38:18,698 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:18,706 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:18,706 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:18,707 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:18,710 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:18,710 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_665|]. (and (= (store |v_#memory_int_665| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:18,711 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:18,738 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,739 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:18,740 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:18,750 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:18,751 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:18,751 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:18,755 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:18,755 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_666|, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_666| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_666| ULTIMATE.start_main_p1) 0)) [2019-05-15 10:38:18,755 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:18,787 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,788 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,790 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,791 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:18,792 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:18,805 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:18,805 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:18,806 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:18,810 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:18,810 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_667|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_667| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_667| ULTIMATE.start_main_p3 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_667| ULTIMATE.start_main_p1))) [2019-05-15 10:38:18,810 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:18,851 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,852 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,854 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,855 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:18,857 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:18,869 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:18,870 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:18,870 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:18,875 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:18,875 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_668|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_668| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_668| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_668| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_668| ULTIMATE.start_main_p3)))) [2019-05-15 10:38:18,875 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:18,913 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,915 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,916 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,917 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:18,919 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:18,931 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:18,932 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:18,932 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:18,939 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:18,939 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_669|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_669| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_669| ULTIMATE.start_main_p2) 0) (= .cse0 1) (= (store |v_#memory_int_669| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_669| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:18,939 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:18,980 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,982 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,983 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:18,984 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:18,986 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:18,999 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:18,999 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:18,999 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:19,007 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:19,007 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_670|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_670| ULTIMATE.start_main_p1))) (and (= 2 .cse0) (= 0 (select |v_#memory_int_670| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_670| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_670| ULTIMATE.start_main_p2)))) [2019-05-15 10:38:19,008 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:19,047 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:19,048 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:19,050 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:19,051 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:19,053 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:19,065 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:19,066 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:19,066 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-05-15 10:38:19,072 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:19,072 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_671|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_671| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_671| ULTIMATE.start_main_p2)) (= 3 .cse0) (= 0 (select |v_#memory_int_671| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_671| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:38:19,072 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:19,097 INFO L273 TraceCheckUtils]: 0: Hoare triple {21310#true} havoc main_p1, main_p2, main_p3; {21310#true} is VALID [2019-05-15 10:38:19,097 INFO L273 TraceCheckUtils]: 1: Hoare triple {21310#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {21310#true} is VALID [2019-05-15 10:38:19,097 INFO L273 TraceCheckUtils]: 2: Hoare triple {21310#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {21310#true} is VALID [2019-05-15 10:38:19,098 INFO L273 TraceCheckUtils]: 3: Hoare triple {21310#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {21310#true} is VALID [2019-05-15 10:38:19,098 INFO L273 TraceCheckUtils]: 4: Hoare triple {21310#true} assume main_p1 < main_p2; {21327#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:19,099 INFO L273 TraceCheckUtils]: 5: Hoare triple {21327#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {21331#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:19,100 INFO L273 TraceCheckUtils]: 6: Hoare triple {21331#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {21335#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:19,101 INFO L273 TraceCheckUtils]: 7: Hoare triple {21335#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {21339#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:19,103 INFO L273 TraceCheckUtils]: 8: Hoare triple {21339#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := 0]; {21343#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:19,105 INFO L273 TraceCheckUtils]: 9: Hoare triple {21343#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21347#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:19,107 INFO L273 TraceCheckUtils]: 10: Hoare triple {21347#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21351#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:19,109 INFO L273 TraceCheckUtils]: 11: Hoare triple {21351#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21355#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:19,111 INFO L273 TraceCheckUtils]: 12: Hoare triple {21355#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21359#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 4) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:19,112 INFO L273 TraceCheckUtils]: 13: Hoare triple {21359#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 4) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {21311#false} is VALID [2019-05-15 10:38:19,113 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:19,113 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:19,113 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:38:19,114 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:19,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:19,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:38:19,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:19,137 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:38:19,137 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:38:19,137 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:38:19,137 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 11 states. [2019-05-15 10:38:20,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:20,327 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:20,327 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:38:20,328 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 14 [2019-05-15 10:38:20,328 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:20,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:20,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:38:20,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:38:20,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2019-05-15 10:38:20,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2019-05-15 10:38:20,415 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:20,416 INFO L225 Difference]: With dead ends: 43 [2019-05-15 10:38:20,416 INFO L226 Difference]: Without dead ends: 43 [2019-05-15 10:38:20,416 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:38:20,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-05-15 10:38:20,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2019-05-15 10:38:20,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:20,417 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 29 states. [2019-05-15 10:38:20,417 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 29 states. [2019-05-15 10:38:20,417 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 29 states. [2019-05-15 10:38:20,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:20,418 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:20,418 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:38:20,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:20,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:20,419 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 43 states. [2019-05-15 10:38:20,419 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 43 states. [2019-05-15 10:38:20,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:20,420 INFO L93 Difference]: Finished difference Result 43 states and 80 transitions. [2019-05-15 10:38:20,420 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 80 transitions. [2019-05-15 10:38:20,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:20,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:20,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:20,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:20,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:38:20,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 62 transitions. [2019-05-15 10:38:20,421 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 62 transitions. Word has length 14 [2019-05-15 10:38:20,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:20,421 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 62 transitions. [2019-05-15 10:38:20,421 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:38:20,421 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 62 transitions. [2019-05-15 10:38:20,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:20,421 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:20,421 INFO L399 BasicCegarLoop]: trace histogram [4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:20,421 INFO L418 AbstractCegarLoop]: === Iteration 104 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:20,422 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:20,422 INFO L82 PathProgramCache]: Analyzing trace with hash -398546204, now seen corresponding path program 4 times [2019-05-15 10:38:20,425 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:20,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:20,428 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:38:20,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:20,435 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:20,450 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:38:20,450 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:20,455 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:20,456 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:20,456 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:38:20,458 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:20,459 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_672|]. (and (= |#memory_int| (store |v_#memory_int_672| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:20,459 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:20,476 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:20,477 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:20,478 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:20,485 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:20,486 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:20,486 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:15, output treesize:14 [2019-05-15 10:38:20,490 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:20,490 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_673|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_673| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_673| ULTIMATE.start_main_p3 0))) [2019-05-15 10:38:20,490 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:20,513 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:20,514 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 21 treesize of output 19 [2019-05-15 10:38:20,516 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:20,523 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:20,523 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:20,523 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:24, output treesize:16 [2019-05-15 10:38:20,527 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:20,528 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_674|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_674| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_674| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (store |v_#memory_int_674| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:20,528 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:20,551 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:20,552 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 23 treesize of output 21 [2019-05-15 10:38:20,554 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:20,561 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:20,561 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:20,561 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:38:20,565 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:20,565 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_675|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_675| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_675| ULTIMATE.start_main_p3)) (= 0 (+ .cse0 1)) (= (store |v_#memory_int_675| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:20,565 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:20,591 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:20,592 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 23 treesize of output 21 [2019-05-15 10:38:20,594 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:20,601 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:20,602 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:20,602 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:38:20,607 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:20,607 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_676|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_676| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_676| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_676| ULTIMATE.start_main_p3) 0) (= 0 (+ .cse0 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:20,608 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:38:20,634 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:20,635 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 23 treesize of output 21 [2019-05-15 10:38:20,637 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:20,643 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:20,644 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:20,644 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:38:20,649 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:20,649 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_677|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_677| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_677| ULTIMATE.start_main_p3) 0) (= 0 (+ .cse0 3)) (= |#memory_int| (store |v_#memory_int_677| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:20,650 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:20,672 INFO L273 TraceCheckUtils]: 0: Hoare triple {21532#true} havoc main_p1, main_p2, main_p3; {21532#true} is VALID [2019-05-15 10:38:20,672 INFO L273 TraceCheckUtils]: 1: Hoare triple {21532#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {21532#true} is VALID [2019-05-15 10:38:20,672 INFO L273 TraceCheckUtils]: 2: Hoare triple {21532#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {21532#true} is VALID [2019-05-15 10:38:20,673 INFO L273 TraceCheckUtils]: 3: Hoare triple {21532#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {21532#true} is VALID [2019-05-15 10:38:20,673 INFO L273 TraceCheckUtils]: 4: Hoare triple {21532#true} assume main_p1 < main_p2; {21532#true} is VALID [2019-05-15 10:38:20,673 INFO L273 TraceCheckUtils]: 5: Hoare triple {21532#true} assume main_p2 < main_p3; {21552#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:38:20,674 INFO L273 TraceCheckUtils]: 6: Hoare triple {21552#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {21552#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:38:20,675 INFO L273 TraceCheckUtils]: 7: Hoare triple {21552#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {21559#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:38:20,676 INFO L273 TraceCheckUtils]: 8: Hoare triple {21559#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {21563#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-05-15 10:38:20,677 INFO L273 TraceCheckUtils]: 9: Hoare triple {21563#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21567#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-05-15 10:38:20,679 INFO L273 TraceCheckUtils]: 10: Hoare triple {21567#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21571#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0))} is VALID [2019-05-15 10:38:20,680 INFO L273 TraceCheckUtils]: 11: Hoare triple {21571#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21575#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)))} is VALID [2019-05-15 10:38:20,681 INFO L273 TraceCheckUtils]: 12: Hoare triple {21575#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21579#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:38:20,682 INFO L273 TraceCheckUtils]: 13: Hoare triple {21579#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {21579#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:38:20,683 INFO L273 TraceCheckUtils]: 14: Hoare triple {21579#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {21533#false} is VALID [2019-05-15 10:38:20,684 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:20,684 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:20,684 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:38:20,685 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:38:20,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:20,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:38:20,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:20,704 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:38:20,705 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:38:20,705 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:38:20,705 INFO L87 Difference]: Start difference. First operand 29 states and 62 transitions. Second operand 9 states. [2019-05-15 10:38:21,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:21,483 INFO L93 Difference]: Finished difference Result 41 states and 79 transitions. [2019-05-15 10:38:21,483 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:38:21,483 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:38:21,483 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:21,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:38:21,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:38:21,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:38:21,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:38:21,484 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 45 transitions. [2019-05-15 10:38:21,548 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:21,549 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:38:21,549 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:38:21,549 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:38:21,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:38:21,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 32. [2019-05-15 10:38:21,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:21,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 32 states. [2019-05-15 10:38:21,550 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 32 states. [2019-05-15 10:38:21,550 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 32 states. [2019-05-15 10:38:21,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:21,551 INFO L93 Difference]: Finished difference Result 41 states and 79 transitions. [2019-05-15 10:38:21,551 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 79 transitions. [2019-05-15 10:38:21,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:21,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:21,551 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 41 states. [2019-05-15 10:38:21,551 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 41 states. [2019-05-15 10:38:21,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:21,552 INFO L93 Difference]: Finished difference Result 41 states and 79 transitions. [2019-05-15 10:38:21,552 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 79 transitions. [2019-05-15 10:38:21,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:21,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:21,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:21,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:21,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:38:21,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 73 transitions. [2019-05-15 10:38:21,553 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 73 transitions. Word has length 15 [2019-05-15 10:38:21,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:21,553 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 73 transitions. [2019-05-15 10:38:21,553 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:38:21,553 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 73 transitions. [2019-05-15 10:38:21,553 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:21,554 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:21,554 INFO L399 BasicCegarLoop]: trace histogram [4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:21,554 INFO L418 AbstractCegarLoop]: === Iteration 105 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:21,554 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:21,554 INFO L82 PathProgramCache]: Analyzing trace with hash -398546516, now seen corresponding path program 23 times [2019-05-15 10:38:21,555 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:21,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:21,557 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:38:21,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:21,568 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:21,599 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:38:21,599 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,607 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:21,608 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,608 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:21,611 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:21,611 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_678|]. (and (= (store |v_#memory_int_678| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:21,612 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:21,639 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,639 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:21,640 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,650 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:21,651 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,651 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:21,685 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,687 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,688 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,689 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:21,690 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,702 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:21,703 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:21,703 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:21,706 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:21,707 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_680|, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_680| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_680| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_680| ULTIMATE.start_main_p1) 0)) [2019-05-15 10:38:21,707 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:21,745 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,747 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,748 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,749 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:21,751 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,763 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:21,764 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:21,764 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:38:21,769 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:21,769 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_681|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_681| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_681| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_681| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_681| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:21,769 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:21,810 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,812 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,813 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,814 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:21,817 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,828 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:21,828 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:21,829 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:21,833 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:21,833 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_682|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_682| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_682| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_682| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_682| ULTIMATE.start_main_p3)) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:21,833 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:21,873 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,875 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,875 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,876 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:21,878 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,890 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:21,891 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:21,891 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:21,896 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:21,896 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_683|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_683| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_683| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_683| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_683| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ .cse0 2) 0))) [2019-05-15 10:38:21,896 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:38:21,940 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,941 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,943 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:21,944 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:21,946 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:21,959 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:21,960 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:21,960 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:21,966 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:21,967 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_684|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_684| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 3)) (= (select |v_#memory_int_684| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_684| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_684| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:21,967 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:22,008 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:22,009 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:22,010 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:22,011 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:22,013 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:22,025 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:22,026 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:22,026 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:22,030 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:22,030 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_685|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_685| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_685| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_685| ULTIMATE.start_main_p2) 4)) (= |#memory_int| (store |v_#memory_int_685| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:22,030 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:22,052 INFO L273 TraceCheckUtils]: 0: Hoare triple {21750#true} havoc main_p1, main_p2, main_p3; {21750#true} is VALID [2019-05-15 10:38:22,053 INFO L273 TraceCheckUtils]: 1: Hoare triple {21750#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {21750#true} is VALID [2019-05-15 10:38:22,053 INFO L273 TraceCheckUtils]: 2: Hoare triple {21750#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {21750#true} is VALID [2019-05-15 10:38:22,053 INFO L273 TraceCheckUtils]: 3: Hoare triple {21750#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {21750#true} is VALID [2019-05-15 10:38:22,054 INFO L273 TraceCheckUtils]: 4: Hoare triple {21750#true} assume main_p1 < main_p2; {21767#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:22,054 INFO L273 TraceCheckUtils]: 5: Hoare triple {21767#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {21771#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:22,055 INFO L273 TraceCheckUtils]: 6: Hoare triple {21771#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {21775#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:22,056 INFO L273 TraceCheckUtils]: 7: Hoare triple {21775#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {21779#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:22,058 INFO L273 TraceCheckUtils]: 8: Hoare triple {21779#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {21783#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:22,059 INFO L273 TraceCheckUtils]: 9: Hoare triple {21783#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21787#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:22,061 INFO L273 TraceCheckUtils]: 10: Hoare triple {21787#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21791#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:22,063 INFO L273 TraceCheckUtils]: 11: Hoare triple {21791#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21795#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:22,065 INFO L273 TraceCheckUtils]: 12: Hoare triple {21795#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21799#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-05-15 10:38:22,067 INFO L273 TraceCheckUtils]: 13: Hoare triple {21799#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21803#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:22,068 INFO L273 TraceCheckUtils]: 14: Hoare triple {21803#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 4) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {21751#false} is VALID [2019-05-15 10:38:22,069 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:22,069 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:22,070 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:38:22,070 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:22,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:22,070 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:38:22,095 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:22,095 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:38:22,096 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:38:22,096 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:38:22,096 INFO L87 Difference]: Start difference. First operand 32 states and 73 transitions. Second operand 12 states. [2019-05-15 10:38:23,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:23,550 INFO L93 Difference]: Finished difference Result 50 states and 89 transitions. [2019-05-15 10:38:23,550 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:38:23,550 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:23,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:23,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:23,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 59 transitions. [2019-05-15 10:38:23,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:23,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 59 transitions. [2019-05-15 10:38:23,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 59 transitions. [2019-05-15 10:38:23,658 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:23,659 INFO L225 Difference]: With dead ends: 50 [2019-05-15 10:38:23,659 INFO L226 Difference]: Without dead ends: 50 [2019-05-15 10:38:23,659 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2019-05-15 10:38:23,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2019-05-15 10:38:23,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 31. [2019-05-15 10:38:23,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:23,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 31 states. [2019-05-15 10:38:23,660 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 31 states. [2019-05-15 10:38:23,660 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 31 states. [2019-05-15 10:38:23,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:23,661 INFO L93 Difference]: Finished difference Result 50 states and 89 transitions. [2019-05-15 10:38:23,661 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 89 transitions. [2019-05-15 10:38:23,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:23,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:23,661 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 50 states. [2019-05-15 10:38:23,662 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 50 states. [2019-05-15 10:38:23,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:23,662 INFO L93 Difference]: Finished difference Result 50 states and 89 transitions. [2019-05-15 10:38:23,662 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 89 transitions. [2019-05-15 10:38:23,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:23,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:23,663 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:23,663 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:23,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:38:23,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:38:23,663 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 15 [2019-05-15 10:38:23,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:23,663 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:38:23,664 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:38:23,664 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:38:23,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:23,664 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:23,664 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:23,664 INFO L418 AbstractCegarLoop]: === Iteration 106 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:23,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:23,664 INFO L82 PathProgramCache]: Analyzing trace with hash -398544282, now seen corresponding path program 9 times [2019-05-15 10:38:23,665 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:23,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:23,668 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:38:23,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:23,672 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:23,688 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:38:23,688 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,694 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:23,695 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,695 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:38:23,698 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:23,698 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_686|]. (and (= |#memory_int| (store |v_#memory_int_686| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:23,698 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:23,716 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:23,717 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:23,718 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,725 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:23,726 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,726 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:38:23,752 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:23,753 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 21 treesize of output 19 [2019-05-15 10:38:23,754 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,760 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:23,760 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,761 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:38:23,774 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:23,774 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_688|]. (let ((.cse0 (select |v_#memory_int_688| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= (select |v_#memory_int_688| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_688| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:23,774 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:23,800 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:23,801 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 23 treesize of output 21 [2019-05-15 10:38:23,803 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,811 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:23,811 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,811 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:16 [2019-05-15 10:38:23,826 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:23,826 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_689|]. (let ((.cse0 (select |v_#memory_int_689| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_689| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_689| ULTIMATE.start_main_p3) 0) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:23,826 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:23,853 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:23,854 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 23 treesize of output 21 [2019-05-15 10:38:23,856 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,864 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:23,865 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,865 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:16 [2019-05-15 10:38:23,878 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:23,878 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_690|]. (let ((.cse0 (select |v_#memory_int_690| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_690| ULTIMATE.start_main_p3) 0) (= 0 (+ .cse0 2)) (= (store |v_#memory_int_690| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:23,878 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:23,907 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:23,907 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 23 treesize of output 21 [2019-05-15 10:38:23,909 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:23,915 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:23,916 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:23,916 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:38:35,994 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:35,994 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_691|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_691| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= 0 (+ (select |v_#memory_int_691| ULTIMATE.start_main_p2) 3)) (= (store |v_#memory_int_691| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:35,995 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:36,037 INFO L273 TraceCheckUtils]: 0: Hoare triple {21999#true} havoc main_p1, main_p2, main_p3; {21999#true} is VALID [2019-05-15 10:38:36,037 INFO L273 TraceCheckUtils]: 1: Hoare triple {21999#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {21999#true} is VALID [2019-05-15 10:38:36,037 INFO L273 TraceCheckUtils]: 2: Hoare triple {21999#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {21999#true} is VALID [2019-05-15 10:38:36,037 INFO L273 TraceCheckUtils]: 3: Hoare triple {21999#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {21999#true} is VALID [2019-05-15 10:38:36,038 INFO L273 TraceCheckUtils]: 4: Hoare triple {21999#true} assume main_p1 < main_p2; {21999#true} is VALID [2019-05-15 10:38:36,038 INFO L273 TraceCheckUtils]: 5: Hoare triple {21999#true} assume main_p2 < main_p3; {22019#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:38:36,039 INFO L273 TraceCheckUtils]: 6: Hoare triple {22019#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {22019#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:38:36,040 INFO L273 TraceCheckUtils]: 7: Hoare triple {22019#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {22026#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:38:36,041 INFO L273 TraceCheckUtils]: 8: Hoare triple {22026#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {22030#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:38:36,042 INFO L273 TraceCheckUtils]: 9: Hoare triple {22030#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22034#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:38:36,043 INFO L273 TraceCheckUtils]: 10: Hoare triple {22034#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22038#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:38:36,044 INFO L273 TraceCheckUtils]: 11: Hoare triple {22038#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22042#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:38:36,045 INFO L273 TraceCheckUtils]: 12: Hoare triple {22042#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22046#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:38:36,046 INFO L273 TraceCheckUtils]: 13: Hoare triple {22046#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {22046#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:38:36,047 INFO L273 TraceCheckUtils]: 14: Hoare triple {22046#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {22000#false} is VALID [2019-05-15 10:38:36,048 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:36,048 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:36,048 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:38:36,048 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:38:36,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:36,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:38:36,066 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:36,067 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:38:36,067 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:38:36,067 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:38:36,067 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 9 states. [2019-05-15 10:38:36,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:36,632 INFO L93 Difference]: Finished difference Result 40 states and 78 transitions. [2019-05-15 10:38:36,632 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:38:36,632 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:38:36,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:36,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:38:36,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:38:36,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:38:36,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:38:36,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 45 transitions. [2019-05-15 10:38:36,692 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:36,693 INFO L225 Difference]: With dead ends: 40 [2019-05-15 10:38:36,693 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:38:36,694 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:38:36,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:38:36,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 32. [2019-05-15 10:38:36,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:36,695 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 32 states. [2019-05-15 10:38:36,695 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 32 states. [2019-05-15 10:38:36,696 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 32 states. [2019-05-15 10:38:36,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:36,696 INFO L93 Difference]: Finished difference Result 38 states and 76 transitions. [2019-05-15 10:38:36,697 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 76 transitions. [2019-05-15 10:38:36,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:36,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:36,697 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 38 states. [2019-05-15 10:38:36,697 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 38 states. [2019-05-15 10:38:36,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:36,698 INFO L93 Difference]: Finished difference Result 38 states and 76 transitions. [2019-05-15 10:38:36,698 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 76 transitions. [2019-05-15 10:38:36,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:36,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:36,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:36,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:36,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:38:36,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 72 transitions. [2019-05-15 10:38:36,699 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 72 transitions. Word has length 15 [2019-05-15 10:38:36,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:36,700 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 72 transitions. [2019-05-15 10:38:36,700 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:38:36,700 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 72 transitions. [2019-05-15 10:38:36,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:36,700 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:36,700 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:36,700 INFO L418 AbstractCegarLoop]: === Iteration 107 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:36,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:36,700 INFO L82 PathProgramCache]: Analyzing trace with hash -398544594, now seen corresponding path program 43 times [2019-05-15 10:38:36,701 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:36,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:36,704 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:38:36,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:36,708 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:36,738 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:38:36,739 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,746 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:36,747 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,747 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:36,750 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:36,751 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_692|]. (and (= (store |v_#memory_int_692| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:36,751 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:36,777 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,778 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:36,779 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,787 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:36,788 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,788 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:36,821 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,823 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,824 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,825 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:36,826 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,837 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:36,837 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,837 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:36,877 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,879 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,880 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,881 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:36,883 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,895 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:36,896 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,896 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:38:36,914 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:36,914 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_695|]. (let ((.cse0 (select |v_#memory_int_695| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_695| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_695| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (store |v_#memory_int_695| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:36,915 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:36,955 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,956 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,958 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:36,959 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:36,961 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,973 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:36,973 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:36,973 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:36,987 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:36,988 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_696|]. (let ((.cse0 (select |v_#memory_int_696| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_696| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ .cse0 1) 0) (= (select |v_#memory_int_696| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_696| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:36,988 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:37,029 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:37,030 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:37,032 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:37,032 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:37,035 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:37,048 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:37,050 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:37,051 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:37,068 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:37,068 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_697|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_697| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_697| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_697| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_697| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ .cse0 2)))) [2019-05-15 10:38:37,068 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:38:37,109 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:37,111 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:37,112 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:37,113 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:37,115 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:37,128 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:37,128 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:37,129 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:38,249 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:38,250 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_698|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_698| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_698| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (+ (select |v_#memory_int_698| ULTIMATE.start_main_p2) 3) 0) (= 0 (select |v_#memory_int_698| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:38,250 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:38,299 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:38,301 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:38,302 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:38,303 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:38,305 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:38,318 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:38,318 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:38,319 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:38,323 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:38,323 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_699|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_699| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= (select |v_#memory_int_699| ULTIMATE.start_main_p3) 1) (= (+ (select |v_#memory_int_699| ULTIMATE.start_main_p2) 3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_699| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-05-15 10:38:38,324 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:38,350 INFO L273 TraceCheckUtils]: 0: Hoare triple {22202#true} havoc main_p1, main_p2, main_p3; {22202#true} is VALID [2019-05-15 10:38:38,350 INFO L273 TraceCheckUtils]: 1: Hoare triple {22202#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {22202#true} is VALID [2019-05-15 10:38:38,351 INFO L273 TraceCheckUtils]: 2: Hoare triple {22202#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {22202#true} is VALID [2019-05-15 10:38:38,351 INFO L273 TraceCheckUtils]: 3: Hoare triple {22202#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {22202#true} is VALID [2019-05-15 10:38:38,351 INFO L273 TraceCheckUtils]: 4: Hoare triple {22202#true} assume main_p1 < main_p2; {22219#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:38,352 INFO L273 TraceCheckUtils]: 5: Hoare triple {22219#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {22223#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:38,353 INFO L273 TraceCheckUtils]: 6: Hoare triple {22223#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {22227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:38,354 INFO L273 TraceCheckUtils]: 7: Hoare triple {22227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {22231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:38,355 INFO L273 TraceCheckUtils]: 8: Hoare triple {22231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {22235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:38,357 INFO L273 TraceCheckUtils]: 9: Hoare triple {22235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22239#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:38,358 INFO L273 TraceCheckUtils]: 10: Hoare triple {22239#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22243#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:38,360 INFO L273 TraceCheckUtils]: 11: Hoare triple {22243#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22247#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:38:38,362 INFO L273 TraceCheckUtils]: 12: Hoare triple {22247#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:38,364 INFO L273 TraceCheckUtils]: 13: Hoare triple {22251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22255#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:38,365 INFO L273 TraceCheckUtils]: 14: Hoare triple {22255#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {22203#false} is VALID [2019-05-15 10:38:38,366 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:38,366 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:38,366 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:38:38,367 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:38,367 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:38,367 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:38:38,390 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:38,390 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:38:38,390 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:38:38,390 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:38:38,391 INFO L87 Difference]: Start difference. First operand 32 states and 72 transitions. Second operand 12 states. [2019-05-15 10:38:39,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:39,450 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:38:39,451 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:38:39,451 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:39,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:39,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:39,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2019-05-15 10:38:39,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:39,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2019-05-15 10:38:39,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2019-05-15 10:38:39,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:39,556 INFO L225 Difference]: With dead ends: 47 [2019-05-15 10:38:39,557 INFO L226 Difference]: Without dead ends: 47 [2019-05-15 10:38:39,557 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=156, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:38:39,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2019-05-15 10:38:39,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2019-05-15 10:38:39,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:39,558 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 31 states. [2019-05-15 10:38:39,558 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 31 states. [2019-05-15 10:38:39,559 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 31 states. [2019-05-15 10:38:39,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:39,559 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:38:39,559 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:38:39,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:39,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:39,560 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 47 states. [2019-05-15 10:38:39,560 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 47 states. [2019-05-15 10:38:39,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:39,560 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:38:39,560 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:38:39,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:39,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:39,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:39,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:39,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:38:39,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:38:39,562 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 15 [2019-05-15 10:38:39,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:39,562 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:38:39,562 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:38:39,562 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:38:39,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:39,562 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:39,562 INFO L399 BasicCegarLoop]: trace histogram [4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:39,562 INFO L418 AbstractCegarLoop]: === Iteration 108 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:39,562 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:39,563 INFO L82 PathProgramCache]: Analyzing trace with hash -398550236, now seen corresponding path program 24 times [2019-05-15 10:38:39,563 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:39,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:39,566 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:38:39,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:39,571 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:39,605 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:38:39,605 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,614 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:39,615 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,615 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:39,618 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:39,619 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_700|]. (and (= (store |v_#memory_int_700| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:39,619 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:39,652 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,653 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:39,654 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,665 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:39,666 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,666 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:39,707 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,708 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,710 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,711 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:39,713 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,726 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:39,727 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:39,727 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:39,731 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:39,732 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_702|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_702| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_702| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_702| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:39,732 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:39,780 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,781 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,783 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,784 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:39,786 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,800 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:39,800 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:39,801 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:38:39,806 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:39,806 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_703|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_703| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_703| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_703| ULTIMATE.start_main_p1)) (= .cse0 0) (= (store |v_#memory_int_703| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:39,806 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:39,867 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,868 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,869 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,869 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:39,871 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,885 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:39,885 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:39,885 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:39,890 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:39,890 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_704|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_704| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 1)) (= |#memory_int| (store |v_#memory_int_704| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_704| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_704| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:39,890 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:39,935 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,937 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,939 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:39,940 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:39,942 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:39,955 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:39,956 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:39,956 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:39,960 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:39,960 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_705|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_705| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_705| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_705| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ .cse0 2)) (= (select |v_#memory_int_705| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:39,961 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:38:40,010 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:40,011 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:40,013 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:40,014 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:40,016 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:40,028 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:40,029 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:40,030 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:40,041 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:40,041 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_706|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_706| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_706| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= (+ (select |v_#memory_int_706| ULTIMATE.start_main_p2) 3) 0) (= (store |v_#memory_int_706| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:40,041 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:40,088 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:40,090 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:40,092 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:40,093 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:40,094 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:40,108 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:40,109 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:40,109 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:40,884 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:40,885 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_707|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_707| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_707| ULTIMATE.start_main_p3)) (= (+ .cse0 3) 0) (= |#memory_int| (store |v_#memory_int_707| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_707| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:40,885 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:40,915 INFO L273 TraceCheckUtils]: 0: Hoare triple {22436#true} havoc main_p1, main_p2, main_p3; {22436#true} is VALID [2019-05-15 10:38:40,916 INFO L273 TraceCheckUtils]: 1: Hoare triple {22436#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {22436#true} is VALID [2019-05-15 10:38:40,916 INFO L273 TraceCheckUtils]: 2: Hoare triple {22436#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {22436#true} is VALID [2019-05-15 10:38:40,916 INFO L273 TraceCheckUtils]: 3: Hoare triple {22436#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {22436#true} is VALID [2019-05-15 10:38:40,917 INFO L273 TraceCheckUtils]: 4: Hoare triple {22436#true} assume main_p1 < main_p2; {22453#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:40,917 INFO L273 TraceCheckUtils]: 5: Hoare triple {22453#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {22457#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,918 INFO L273 TraceCheckUtils]: 6: Hoare triple {22457#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {22461#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,919 INFO L273 TraceCheckUtils]: 7: Hoare triple {22461#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {22465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,920 INFO L273 TraceCheckUtils]: 8: Hoare triple {22465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {22469#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,921 INFO L273 TraceCheckUtils]: 9: Hoare triple {22469#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22473#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,923 INFO L273 TraceCheckUtils]: 10: Hoare triple {22473#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22477#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,926 INFO L273 TraceCheckUtils]: 11: Hoare triple {22477#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22481#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,928 INFO L273 TraceCheckUtils]: 12: Hoare triple {22481#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22485#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:40,930 INFO L273 TraceCheckUtils]: 13: Hoare triple {22485#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22489#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:40,932 INFO L273 TraceCheckUtils]: 14: Hoare triple {22489#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {22437#false} is VALID [2019-05-15 10:38:40,933 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:40,934 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:40,934 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:38:40,934 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:40,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:40,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:38:40,958 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:40,958 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:38:40,959 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:38:40,959 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:38:40,959 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 12 states. [2019-05-15 10:38:42,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:42,533 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:38:42,533 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:38:42,533 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:42,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:42,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:42,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 57 transitions. [2019-05-15 10:38:42,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:42,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 57 transitions. [2019-05-15 10:38:42,534 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 57 transitions. [2019-05-15 10:38:42,633 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:42,634 INFO L225 Difference]: With dead ends: 47 [2019-05-15 10:38:42,634 INFO L226 Difference]: Without dead ends: 47 [2019-05-15 10:38:42,635 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2019-05-15 10:38:42,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2019-05-15 10:38:42,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 32. [2019-05-15 10:38:42,636 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:42,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 32 states. [2019-05-15 10:38:42,637 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 32 states. [2019-05-15 10:38:42,637 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 32 states. [2019-05-15 10:38:42,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:42,638 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:38:42,638 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:38:42,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:42,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:42,639 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 47 states. [2019-05-15 10:38:42,639 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 47 states. [2019-05-15 10:38:42,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:42,640 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:38:42,640 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:38:42,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:42,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:42,641 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:42,641 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:42,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:38:42,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 72 transitions. [2019-05-15 10:38:42,642 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 72 transitions. Word has length 15 [2019-05-15 10:38:42,642 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:42,642 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 72 transitions. [2019-05-15 10:38:42,642 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:38:42,642 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 72 transitions. [2019-05-15 10:38:42,643 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:42,643 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:42,643 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:42,643 INFO L418 AbstractCegarLoop]: === Iteration 109 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:42,643 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:42,643 INFO L82 PathProgramCache]: Analyzing trace with hash -398550174, now seen corresponding path program 44 times [2019-05-15 10:38:42,644 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:42,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:42,648 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:38:42,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:42,660 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:42,699 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:38:42,699 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,707 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:42,707 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,708 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:42,711 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:42,712 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_708|]. (and (= |#memory_int| (store |v_#memory_int_708| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:42,712 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:42,741 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,742 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:42,743 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,755 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:42,755 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,755 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:42,795 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,797 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,798 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,799 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:42,801 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,816 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:42,817 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,817 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:42,865 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,867 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,869 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,870 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:42,871 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,883 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:42,884 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,884 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:38:42,905 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:42,905 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_711|]. (let ((.cse0 (select |v_#memory_int_711| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= (select |v_#memory_int_711| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_711| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_711| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:42,905 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:42,953 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,955 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,956 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:42,958 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:42,960 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,974 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:42,975 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:42,975 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:42,997 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:42,997 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_712|]. (let ((.cse0 (select |v_#memory_int_712| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_712| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_712| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (+ .cse0 1) 0) (= (select |v_#memory_int_712| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:42,998 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:43,045 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:43,047 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:43,048 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:43,049 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:43,052 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:43,065 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:43,068 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:43,069 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:55,190 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:55,190 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_713|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_713| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 2)) (= 0 (select |v_#memory_int_713| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_713| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_713| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:55,190 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:38:55,397 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:55,411 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:55,434 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:55,435 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:55,473 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:55,623 WARN L188 SmtUtils]: Spent 149.00 ms on a formula simplification that was a NOOP. DAG size: 17 [2019-05-15 10:38:55,624 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:55,624 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:55,625 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:55,642 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:55,643 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_714|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_714| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_714| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_714| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_714| ULTIMATE.start_main_p2) 3) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:55,643 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:55,687 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:55,688 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:55,689 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:55,691 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:55,697 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:55,709 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:55,710 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:55,710 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:55,717 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:55,717 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_715|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_715| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_715| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_715| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_715| ULTIMATE.start_main_p2) 3)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:55,717 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:55,746 INFO L273 TraceCheckUtils]: 0: Hoare triple {22677#true} havoc main_p1, main_p2, main_p3; {22677#true} is VALID [2019-05-15 10:38:55,746 INFO L273 TraceCheckUtils]: 1: Hoare triple {22677#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {22677#true} is VALID [2019-05-15 10:38:55,746 INFO L273 TraceCheckUtils]: 2: Hoare triple {22677#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {22677#true} is VALID [2019-05-15 10:38:55,747 INFO L273 TraceCheckUtils]: 3: Hoare triple {22677#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {22677#true} is VALID [2019-05-15 10:38:55,747 INFO L273 TraceCheckUtils]: 4: Hoare triple {22677#true} assume main_p1 < main_p2; {22694#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:55,748 INFO L273 TraceCheckUtils]: 5: Hoare triple {22694#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {22698#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:55,749 INFO L273 TraceCheckUtils]: 6: Hoare triple {22698#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {22702#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:55,750 INFO L273 TraceCheckUtils]: 7: Hoare triple {22702#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {22706#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:55,752 INFO L273 TraceCheckUtils]: 8: Hoare triple {22706#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {22710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:55,753 INFO L273 TraceCheckUtils]: 9: Hoare triple {22710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22714#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:55,755 INFO L273 TraceCheckUtils]: 10: Hoare triple {22714#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22718#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:55,757 INFO L273 TraceCheckUtils]: 11: Hoare triple {22718#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22722#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:38:55,759 INFO L273 TraceCheckUtils]: 12: Hoare triple {22722#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22726#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:38:55,761 INFO L273 TraceCheckUtils]: 13: Hoare triple {22726#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22730#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:55,761 INFO L273 TraceCheckUtils]: 14: Hoare triple {22730#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {22678#false} is VALID [2019-05-15 10:38:55,763 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:55,763 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:55,763 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:38:55,764 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:55,764 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:55,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:38:55,786 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:55,786 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:38:55,786 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:38:55,787 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:38:55,787 INFO L87 Difference]: Start difference. First operand 32 states and 72 transitions. Second operand 12 states. [2019-05-15 10:38:56,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:56,984 INFO L93 Difference]: Finished difference Result 46 states and 85 transitions. [2019-05-15 10:38:56,984 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:38:56,984 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:56,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:56,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:56,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2019-05-15 10:38:56,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:56,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2019-05-15 10:38:56,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2019-05-15 10:38:57,078 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:57,079 INFO L225 Difference]: With dead ends: 46 [2019-05-15 10:38:57,079 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:38:57,079 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:38:57,079 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:38:57,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 32. [2019-05-15 10:38:57,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:57,080 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 32 states. [2019-05-15 10:38:57,081 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 32 states. [2019-05-15 10:38:57,081 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 32 states. [2019-05-15 10:38:57,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:57,082 INFO L93 Difference]: Finished difference Result 44 states and 83 transitions. [2019-05-15 10:38:57,082 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 83 transitions. [2019-05-15 10:38:57,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:57,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:57,083 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 44 states. [2019-05-15 10:38:57,083 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 44 states. [2019-05-15 10:38:57,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:57,084 INFO L93 Difference]: Finished difference Result 44 states and 83 transitions. [2019-05-15 10:38:57,084 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 83 transitions. [2019-05-15 10:38:57,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:57,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:57,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:57,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:57,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:38:57,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 71 transitions. [2019-05-15 10:38:57,085 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 71 transitions. Word has length 15 [2019-05-15 10:38:57,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:57,086 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 71 transitions. [2019-05-15 10:38:57,086 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:38:57,086 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 71 transitions. [2019-05-15 10:38:57,086 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:57,086 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:57,086 INFO L399 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:57,086 INFO L418 AbstractCegarLoop]: === Iteration 110 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:57,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:57,087 INFO L82 PathProgramCache]: Analyzing trace with hash -398550360, now seen corresponding path program 25 times [2019-05-15 10:38:57,088 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:57,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:57,091 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:38:57,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:57,102 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:57,132 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:38:57,132 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,140 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,140 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,140 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:38:57,144 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:57,144 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_716|]. (and (= |#memory_int| (store |v_#memory_int_716| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,145 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,171 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,172 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:57,173 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,183 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,183 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,183 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:38:57,218 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,219 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,221 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,222 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:38:57,223 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,235 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,236 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:57,236 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:23, output treesize:22 [2019-05-15 10:38:57,241 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:57,242 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_718|, ULTIMATE.start_main_p3]. (and (= 0 (select |v_#memory_int_718| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_718| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_718| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,242 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,279 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,281 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,282 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,283 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:38:57,285 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,299 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,299 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:57,300 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:24 [2019-05-15 10:38:57,304 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:57,304 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_719|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_719| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_719| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_719| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_719| ULTIMATE.start_main_p1)))) [2019-05-15 10:38:57,305 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,344 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,346 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,347 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,348 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:57,351 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,364 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,365 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:57,365 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:57,370 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:57,370 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_720|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_720| ULTIMATE.start_main_p2))) (and (= (+ .cse0 1) 0) (= 0 (select |v_#memory_int_720| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_720| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_720| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:57,370 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,412 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,414 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,415 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,416 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:57,419 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,432 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,432 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:57,433 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:57,440 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:57,440 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_721|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_721| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_721| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_721| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_721| ULTIMATE.start_main_p1) 0) (= (+ .cse0 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:57,440 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,482 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,483 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,485 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,486 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:57,488 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,502 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,502 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:57,503 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:57,511 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:57,511 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_722|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_722| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_722| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_722| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (= 0 (+ (select |v_#memory_int_722| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:38:57,511 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,552 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,553 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,555 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:57,556 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:38:57,558 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:57,571 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:57,572 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:57,572 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:38:57,579 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:57,579 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_723|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_723| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_723| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_723| ULTIMATE.start_main_p2) 3)) (= (store |v_#memory_int_723| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 .cse0))) [2019-05-15 10:38:57,579 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:38:57,607 INFO L273 TraceCheckUtils]: 0: Hoare triple {22905#true} havoc main_p1, main_p2, main_p3; {22905#true} is VALID [2019-05-15 10:38:57,607 INFO L273 TraceCheckUtils]: 1: Hoare triple {22905#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {22905#true} is VALID [2019-05-15 10:38:57,607 INFO L273 TraceCheckUtils]: 2: Hoare triple {22905#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {22905#true} is VALID [2019-05-15 10:38:57,607 INFO L273 TraceCheckUtils]: 3: Hoare triple {22905#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {22905#true} is VALID [2019-05-15 10:38:57,608 INFO L273 TraceCheckUtils]: 4: Hoare triple {22905#true} assume main_p1 < main_p2; {22922#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:38:57,609 INFO L273 TraceCheckUtils]: 5: Hoare triple {22922#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {22926#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:57,609 INFO L273 TraceCheckUtils]: 6: Hoare triple {22926#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {22930#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:57,610 INFO L273 TraceCheckUtils]: 7: Hoare triple {22930#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {22934#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:57,611 INFO L273 TraceCheckUtils]: 8: Hoare triple {22934#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {22938#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:57,613 INFO L273 TraceCheckUtils]: 9: Hoare triple {22938#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22942#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:57,615 INFO L273 TraceCheckUtils]: 10: Hoare triple {22942#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22946#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:38:57,618 INFO L273 TraceCheckUtils]: 11: Hoare triple {22946#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22950#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:57,620 INFO L273 TraceCheckUtils]: 12: Hoare triple {22950#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22954#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:57,622 INFO L273 TraceCheckUtils]: 13: Hoare triple {22954#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22958#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:38:57,623 INFO L273 TraceCheckUtils]: 14: Hoare triple {22958#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {22906#false} is VALID [2019-05-15 10:38:57,625 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:38:57,625 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:38:57,625 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:38:57,625 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:57,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:38:57,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:38:57,652 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:57,652 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:38:57,652 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:38:57,653 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:38:57,653 INFO L87 Difference]: Start difference. First operand 32 states and 71 transitions. Second operand 12 states. [2019-05-15 10:38:59,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:59,006 INFO L93 Difference]: Finished difference Result 44 states and 83 transitions. [2019-05-15 10:38:59,006 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:38:59,006 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:38:59,007 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:38:59,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:59,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 53 transitions. [2019-05-15 10:38:59,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:38:59,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 53 transitions. [2019-05-15 10:38:59,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 53 transitions. [2019-05-15 10:38:59,093 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:38:59,094 INFO L225 Difference]: With dead ends: 44 [2019-05-15 10:38:59,095 INFO L226 Difference]: Without dead ends: 44 [2019-05-15 10:38:59,095 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2019-05-15 10:38:59,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-05-15 10:38:59,096 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 30. [2019-05-15 10:38:59,096 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:38:59,096 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 30 states. [2019-05-15 10:38:59,097 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 30 states. [2019-05-15 10:38:59,097 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 30 states. [2019-05-15 10:38:59,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:59,098 INFO L93 Difference]: Finished difference Result 44 states and 83 transitions. [2019-05-15 10:38:59,098 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 83 transitions. [2019-05-15 10:38:59,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:59,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:59,098 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 44 states. [2019-05-15 10:38:59,098 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 44 states. [2019-05-15 10:38:59,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:38:59,099 INFO L93 Difference]: Finished difference Result 44 states and 83 transitions. [2019-05-15 10:38:59,099 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 83 transitions. [2019-05-15 10:38:59,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:38:59,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:38:59,100 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:38:59,100 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:38:59,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:38:59,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 65 transitions. [2019-05-15 10:38:59,101 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 65 transitions. Word has length 15 [2019-05-15 10:38:59,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:38:59,101 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 65 transitions. [2019-05-15 10:38:59,101 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:38:59,101 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 65 transitions. [2019-05-15 10:38:59,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:38:59,102 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:38:59,102 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:38:59,102 INFO L418 AbstractCegarLoop]: === Iteration 111 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:38:59,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:38:59,103 INFO L82 PathProgramCache]: Analyzing trace with hash -398486622, now seen corresponding path program 10 times [2019-05-15 10:38:59,103 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:38:59,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:59,107 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:38:59,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:38:59,111 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:38:59,130 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:38:59,130 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,136 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:59,136 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,136 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:38:59,139 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:59,140 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_724|]. (and (= (store |v_#memory_int_724| ULTIMATE.start_main_p2 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:59,140 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:59,160 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:59,161 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:38:59,162 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,169 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:59,170 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,170 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:38:59,199 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:59,200 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 21 treesize of output 19 [2019-05-15 10:38:59,202 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,209 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:59,210 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,210 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:38:59,224 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:59,225 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_726|]. (let ((.cse0 (select |v_#memory_int_726| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_726| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_726| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:59,225 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:59,253 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:59,254 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 23 treesize of output 21 [2019-05-15 10:38:59,256 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,265 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:59,266 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,266 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:16 [2019-05-15 10:38:59,279 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:38:59,279 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_727|]. (let ((.cse0 (select |v_#memory_int_727| ULTIMATE.start_main_p2))) (and (= (+ .cse0 1) 0) (= (select |v_#memory_int_727| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_727| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:38:59,279 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:38:59,310 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:38:59,311 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 23 treesize of output 21 [2019-05-15 10:38:59,312 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:38:59,321 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:38:59,322 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:38:59,322 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:39:11,442 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:11,443 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_728|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_728| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (= 0 (+ (select |v_#memory_int_728| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_728| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-05-15 10:39:11,443 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:39:11,545 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:11,545 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 23 treesize of output 21 [2019-05-15 10:39:11,548 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:11,557 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:11,558 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:11,558 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:39:11,565 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:11,565 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_729|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_729| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 2)) (= 1 (select |v_#memory_int_729| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_729| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:39:11,565 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:39:11,593 INFO L273 TraceCheckUtils]: 0: Hoare triple {23135#true} havoc main_p1, main_p2, main_p3; {23135#true} is VALID [2019-05-15 10:39:11,593 INFO L273 TraceCheckUtils]: 1: Hoare triple {23135#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {23135#true} is VALID [2019-05-15 10:39:11,594 INFO L273 TraceCheckUtils]: 2: Hoare triple {23135#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {23135#true} is VALID [2019-05-15 10:39:11,594 INFO L273 TraceCheckUtils]: 3: Hoare triple {23135#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {23135#true} is VALID [2019-05-15 10:39:11,594 INFO L273 TraceCheckUtils]: 4: Hoare triple {23135#true} assume main_p1 < main_p2; {23135#true} is VALID [2019-05-15 10:39:11,594 INFO L273 TraceCheckUtils]: 5: Hoare triple {23135#true} assume main_p2 < main_p3; {23155#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:39:11,595 INFO L273 TraceCheckUtils]: 6: Hoare triple {23155#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {23155#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:39:11,596 INFO L273 TraceCheckUtils]: 7: Hoare triple {23155#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {23162#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:11,597 INFO L273 TraceCheckUtils]: 8: Hoare triple {23162#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {23166#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:11,598 INFO L273 TraceCheckUtils]: 9: Hoare triple {23166#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23170#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:11,599 INFO L273 TraceCheckUtils]: 10: Hoare triple {23170#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23174#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:11,600 INFO L273 TraceCheckUtils]: 11: Hoare triple {23174#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {23178#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:39:11,602 INFO L273 TraceCheckUtils]: 12: Hoare triple {23178#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23182#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:39:11,603 INFO L273 TraceCheckUtils]: 13: Hoare triple {23182#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {23182#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:39:11,604 INFO L273 TraceCheckUtils]: 14: Hoare triple {23182#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {23136#false} is VALID [2019-05-15 10:39:11,605 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:39:11,605 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:39:11,606 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:39:11,606 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:39:11,606 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:39:11,606 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:39:11,626 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:11,627 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:39:11,627 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:39:11,627 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:39:11,627 INFO L87 Difference]: Start difference. First operand 30 states and 65 transitions. Second operand 9 states. [2019-05-15 10:39:12,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:12,328 INFO L93 Difference]: Finished difference Result 41 states and 79 transitions. [2019-05-15 10:39:12,328 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:39:12,328 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:39:12,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:39:12,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:39:12,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:39:12,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:39:12,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:39:12,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 45 transitions. [2019-05-15 10:39:12,400 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:12,401 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:39:12,401 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:39:12,401 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:39:12,402 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:39:12,403 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 32. [2019-05-15 10:39:12,403 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:39:12,403 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 32 states. [2019-05-15 10:39:12,403 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 32 states. [2019-05-15 10:39:12,403 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 32 states. [2019-05-15 10:39:12,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:12,404 INFO L93 Difference]: Finished difference Result 41 states and 79 transitions. [2019-05-15 10:39:12,404 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 79 transitions. [2019-05-15 10:39:12,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:12,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:12,405 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 41 states. [2019-05-15 10:39:12,405 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 41 states. [2019-05-15 10:39:12,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:12,405 INFO L93 Difference]: Finished difference Result 41 states and 79 transitions. [2019-05-15 10:39:12,405 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 79 transitions. [2019-05-15 10:39:12,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:12,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:12,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:39:12,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:39:12,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:39:12,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 73 transitions. [2019-05-15 10:39:12,407 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 73 transitions. Word has length 15 [2019-05-15 10:39:12,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:39:12,407 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 73 transitions. [2019-05-15 10:39:12,407 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:39:12,407 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 73 transitions. [2019-05-15 10:39:12,407 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:39:12,407 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:39:12,408 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:39:12,408 INFO L418 AbstractCegarLoop]: === Iteration 112 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:39:12,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:39:12,408 INFO L82 PathProgramCache]: Analyzing trace with hash -398486934, now seen corresponding path program 45 times [2019-05-15 10:39:12,409 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:39:12,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:12,413 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:39:12,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:12,423 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:39:12,459 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:39:12,460 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,469 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:12,470 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,470 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:39:12,475 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:12,475 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_730|]. (and (= (store |v_#memory_int_730| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:12,475 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:12,512 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,514 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:39:12,514 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,525 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:12,525 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,525 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:39:12,561 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,562 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,564 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,565 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:39:12,566 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,580 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:12,580 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,580 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:39:12,621 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,623 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,624 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,625 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:39:12,627 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,639 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:12,640 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,640 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:39:12,653 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:12,654 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_733|]. (let ((.cse0 (select |v_#memory_int_733| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_733| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_733| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_733| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:12,654 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:12,698 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,699 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,701 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,702 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:12,704 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,717 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:12,717 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,717 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:12,731 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:12,732 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_734|]. (let ((.cse0 (select |v_#memory_int_734| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_734| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_734| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_734| ULTIMATE.start_main_p3) 0) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:12,732 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:12,779 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,781 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,783 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:12,784 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:12,791 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:12,803 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:12,804 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:12,804 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:14,109 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:14,109 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_735|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_735| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_735| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_735| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (= (+ (select |v_#memory_int_735| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:14,109 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:14,164 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:14,165 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:14,167 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:14,168 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:14,171 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:14,184 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:14,186 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:14,186 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:14,978 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:14,978 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_736|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_736| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_736| ULTIMATE.start_main_p1)) (= (+ .cse0 2) 0) (= 1 (select |v_#memory_int_736| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_736| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:14,979 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:39:15,033 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:15,034 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:15,035 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:15,036 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:15,038 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:15,050 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:15,051 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:15,051 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:15,057 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:15,057 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_737|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_737| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_737| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (+ (select |v_#memory_int_737| ULTIMATE.start_main_p2) 3) 0) (= 1 (select |v_#memory_int_737| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:15,058 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:15,083 INFO L273 TraceCheckUtils]: 0: Hoare triple {23347#true} havoc main_p1, main_p2, main_p3; {23347#true} is VALID [2019-05-15 10:39:15,084 INFO L273 TraceCheckUtils]: 1: Hoare triple {23347#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {23347#true} is VALID [2019-05-15 10:39:15,084 INFO L273 TraceCheckUtils]: 2: Hoare triple {23347#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {23347#true} is VALID [2019-05-15 10:39:15,084 INFO L273 TraceCheckUtils]: 3: Hoare triple {23347#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {23347#true} is VALID [2019-05-15 10:39:15,085 INFO L273 TraceCheckUtils]: 4: Hoare triple {23347#true} assume main_p1 < main_p2; {23364#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:39:15,085 INFO L273 TraceCheckUtils]: 5: Hoare triple {23364#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {23368#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:15,086 INFO L273 TraceCheckUtils]: 6: Hoare triple {23368#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {23372#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:15,086 INFO L273 TraceCheckUtils]: 7: Hoare triple {23372#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {23376#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:15,087 INFO L273 TraceCheckUtils]: 8: Hoare triple {23376#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {23380#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:15,089 INFO L273 TraceCheckUtils]: 9: Hoare triple {23380#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23384#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:15,090 INFO L273 TraceCheckUtils]: 10: Hoare triple {23384#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23388#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:15,092 INFO L273 TraceCheckUtils]: 11: Hoare triple {23388#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {23392#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:15,094 INFO L273 TraceCheckUtils]: 12: Hoare triple {23392#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23396#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:39:15,097 INFO L273 TraceCheckUtils]: 13: Hoare triple {23396#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23400#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:39:15,098 INFO L273 TraceCheckUtils]: 14: Hoare triple {23400#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 3) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {23348#false} is VALID [2019-05-15 10:39:15,099 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:39:15,099 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:39:15,100 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:39:15,100 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:39:15,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:39:15,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:39:15,126 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:15,126 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:39:15,126 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:39:15,126 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=94, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:39:15,127 INFO L87 Difference]: Start difference. First operand 32 states and 73 transitions. Second operand 12 states. [2019-05-15 10:39:16,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:16,355 INFO L93 Difference]: Finished difference Result 50 states and 89 transitions. [2019-05-15 10:39:16,355 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:39:16,355 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:39:16,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:39:16,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:39:16,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 59 transitions. [2019-05-15 10:39:16,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:39:16,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 59 transitions. [2019-05-15 10:39:16,357 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 59 transitions. [2019-05-15 10:39:16,462 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:16,463 INFO L225 Difference]: With dead ends: 50 [2019-05-15 10:39:16,463 INFO L226 Difference]: Without dead ends: 50 [2019-05-15 10:39:16,464 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:39:16,464 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2019-05-15 10:39:16,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 31. [2019-05-15 10:39:16,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:39:16,465 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 31 states. [2019-05-15 10:39:16,465 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 31 states. [2019-05-15 10:39:16,465 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 31 states. [2019-05-15 10:39:16,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:16,466 INFO L93 Difference]: Finished difference Result 50 states and 89 transitions. [2019-05-15 10:39:16,466 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 89 transitions. [2019-05-15 10:39:16,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:16,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:16,466 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 50 states. [2019-05-15 10:39:16,466 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 50 states. [2019-05-15 10:39:16,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:16,467 INFO L93 Difference]: Finished difference Result 50 states and 89 transitions. [2019-05-15 10:39:16,467 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 89 transitions. [2019-05-15 10:39:16,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:16,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:16,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:39:16,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:39:16,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:39:16,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 69 transitions. [2019-05-15 10:39:16,468 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 69 transitions. Word has length 15 [2019-05-15 10:39:16,468 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:39:16,468 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 69 transitions. [2019-05-15 10:39:16,468 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:39:16,469 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 69 transitions. [2019-05-15 10:39:16,469 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:39:16,469 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:39:16,469 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:39:16,469 INFO L418 AbstractCegarLoop]: === Iteration 113 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:39:16,469 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:39:16,469 INFO L82 PathProgramCache]: Analyzing trace with hash -398484700, now seen corresponding path program 11 times [2019-05-15 10:39:16,470 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:39:16,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:16,473 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:39:16,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:16,493 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:39:16,592 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:39:16,592 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,599 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:16,599 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,599 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2019-05-15 10:39:16,603 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:16,603 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_738|]. (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_738| ULTIMATE.start_main_p2 0) |#memory_int|)) [2019-05-15 10:39:16,603 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:39:16,624 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:16,625 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:39:16,627 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,635 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:16,635 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,636 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2019-05-15 10:39:16,666 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:16,667 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 21 treesize of output 19 [2019-05-15 10:39:16,673 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,680 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:16,681 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,681 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:16 [2019-05-15 10:39:16,694 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:16,694 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_740|]. (let ((.cse0 (select |v_#memory_int_740| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_740| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_740| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:39:16,694 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:39:16,724 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:16,725 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 23 treesize of output 21 [2019-05-15 10:39:16,727 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,737 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:16,737 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,737 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:16 [2019-05-15 10:39:16,753 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:16,754 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_741|]. (let ((.cse0 (select |v_#memory_int_741| ULTIMATE.start_main_p2))) (and (= 0 (+ .cse0 1)) (= (select |v_#memory_int_741| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_741| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-05-15 10:39:16,754 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:39:16,786 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:16,787 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 23 treesize of output 21 [2019-05-15 10:39:16,788 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,797 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:16,798 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,798 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:16 [2019-05-15 10:39:16,812 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:16,812 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_742|]. (let ((.cse0 (select |v_#memory_int_742| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_742| ULTIMATE.start_main_p2) 2) 0) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_742| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:39:16,812 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:39:16,840 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:16,840 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 23 treesize of output 21 [2019-05-15 10:39:16,842 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:16,849 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:16,850 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:16,850 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-05-15 10:39:28,922 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:28,923 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_743|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_743| ULTIMATE.start_main_p3))) (and (= 1 .cse0) (= |#memory_int| (store |v_#memory_int_743| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (+ (select |v_#memory_int_743| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:39:28,923 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:39:29,000 INFO L273 TraceCheckUtils]: 0: Hoare triple {23590#true} havoc main_p1, main_p2, main_p3; {23590#true} is VALID [2019-05-15 10:39:29,001 INFO L273 TraceCheckUtils]: 1: Hoare triple {23590#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {23590#true} is VALID [2019-05-15 10:39:29,001 INFO L273 TraceCheckUtils]: 2: Hoare triple {23590#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {23590#true} is VALID [2019-05-15 10:39:29,001 INFO L273 TraceCheckUtils]: 3: Hoare triple {23590#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {23590#true} is VALID [2019-05-15 10:39:29,001 INFO L273 TraceCheckUtils]: 4: Hoare triple {23590#true} assume main_p1 < main_p2; {23590#true} is VALID [2019-05-15 10:39:29,002 INFO L273 TraceCheckUtils]: 5: Hoare triple {23590#true} assume main_p2 < main_p3; {23610#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:39:29,002 INFO L273 TraceCheckUtils]: 6: Hoare triple {23610#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p1 := 0]; {23610#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:39:29,003 INFO L273 TraceCheckUtils]: 7: Hoare triple {23610#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} #memory_int := #memory_int[main_p2 := 0]; {23617#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:29,004 INFO L273 TraceCheckUtils]: 8: Hoare triple {23617#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {23621#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:29,004 INFO L273 TraceCheckUtils]: 9: Hoare triple {23621#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23625#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:29,005 INFO L273 TraceCheckUtils]: 10: Hoare triple {23625#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23629#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:29,006 INFO L273 TraceCheckUtils]: 11: Hoare triple {23629#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {23633#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:39:29,007 INFO L273 TraceCheckUtils]: 12: Hoare triple {23633#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {23637#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:39:29,008 INFO L273 TraceCheckUtils]: 13: Hoare triple {23637#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {23637#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-05-15 10:39:29,009 INFO L273 TraceCheckUtils]: 14: Hoare triple {23637#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {23591#false} is VALID [2019-05-15 10:39:29,010 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:39:29,010 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:39:29,010 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2019-05-15 10:39:29,010 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:39:29,011 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:39:29,011 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:39:29,031 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:29,032 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:39:29,032 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:39:29,032 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:39:29,032 INFO L87 Difference]: Start difference. First operand 31 states and 69 transitions. Second operand 9 states. [2019-05-15 10:39:29,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:29,616 INFO L93 Difference]: Finished difference Result 40 states and 78 transitions. [2019-05-15 10:39:29,616 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:39:29,617 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 15 [2019-05-15 10:39:29,617 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:39:29,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:39:29,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:39:29,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:39:29,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2019-05-15 10:39:29,618 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 45 transitions. [2019-05-15 10:39:29,685 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:29,686 INFO L225 Difference]: With dead ends: 40 [2019-05-15 10:39:29,686 INFO L226 Difference]: Without dead ends: 38 [2019-05-15 10:39:29,686 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:39:29,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-05-15 10:39:29,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 32. [2019-05-15 10:39:29,687 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:39:29,687 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 32 states. [2019-05-15 10:39:29,687 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 32 states. [2019-05-15 10:39:29,688 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 32 states. [2019-05-15 10:39:29,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:29,688 INFO L93 Difference]: Finished difference Result 38 states and 76 transitions. [2019-05-15 10:39:29,688 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 76 transitions. [2019-05-15 10:39:29,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:29,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:29,689 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 38 states. [2019-05-15 10:39:29,689 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 38 states. [2019-05-15 10:39:29,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:29,689 INFO L93 Difference]: Finished difference Result 38 states and 76 transitions. [2019-05-15 10:39:29,689 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 76 transitions. [2019-05-15 10:39:29,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:29,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:29,690 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:39:29,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:39:29,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:39:29,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 72 transitions. [2019-05-15 10:39:29,690 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 72 transitions. Word has length 15 [2019-05-15 10:39:29,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:39:29,691 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 72 transitions. [2019-05-15 10:39:29,691 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:39:29,691 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 72 transitions. [2019-05-15 10:39:29,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:39:29,691 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:39:29,691 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:39:29,691 INFO L418 AbstractCegarLoop]: === Iteration 114 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:39:29,691 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:39:29,691 INFO L82 PathProgramCache]: Analyzing trace with hash -398485012, now seen corresponding path program 46 times [2019-05-15 10:39:29,692 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:39:29,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:29,695 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:39:29,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:29,714 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:39:29,817 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:39:29,817 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:29,826 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:29,827 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:29,827 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:39:29,831 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:29,831 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_744|]. (and (= (store |v_#memory_int_744| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:29,831 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:29,862 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:29,863 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:39:29,864 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:29,875 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:29,876 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:29,876 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:39:29,925 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:29,926 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:29,928 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:29,929 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:39:29,931 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:29,945 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:29,945 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:29,946 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:39:29,995 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:29,997 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:29,999 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:29,999 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:39:30,002 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:30,016 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:30,016 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:30,016 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:39:30,029 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:30,030 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_747|]. (let ((.cse0 (select |v_#memory_int_747| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_747| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_747| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_747| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:30,030 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:30,078 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,080 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,081 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,082 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:30,085 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:30,099 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:30,100 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:30,100 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:30,122 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:30,122 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_748|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_748| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_748| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (+ .cse0 1)) (= (select |v_#memory_int_748| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_748| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:30,122 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:30,168 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,170 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,172 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,172 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:30,175 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:30,188 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:30,189 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:30,189 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:30,194 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:30,194 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_749|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_749| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_749| ULTIMATE.start_main_p1)) (= 0 .cse0) (= (+ (select |v_#memory_int_749| ULTIMATE.start_main_p2) 2) 0) (= |#memory_int| (store |v_#memory_int_749| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:30,194 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:30,242 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,243 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,245 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,246 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:30,248 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:30,261 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:30,262 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:30,262 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:30,268 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:30,269 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_750|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_750| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_750| ULTIMATE.start_main_p1) 0) (= (+ (select |v_#memory_int_750| ULTIMATE.start_main_p2) 2) 0) (= |#memory_int| (store |v_#memory_int_750| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 1 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:30,269 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:30,318 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,358 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,382 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:30,383 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:30,421 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:30,482 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:30,482 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:30,483 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:30,489 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:30,489 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_751|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_751| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_751| ULTIMATE.start_main_p3) 2) (= .cse0 0) (= (store |v_#memory_int_751| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (+ (select |v_#memory_int_751| ULTIMATE.start_main_p2) 2)))) [2019-05-15 10:39:30,490 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:30,514 INFO L273 TraceCheckUtils]: 0: Hoare triple {23793#true} havoc main_p1, main_p2, main_p3; {23793#true} is VALID [2019-05-15 10:39:30,514 INFO L273 TraceCheckUtils]: 1: Hoare triple {23793#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {23793#true} is VALID [2019-05-15 10:39:30,514 INFO L273 TraceCheckUtils]: 2: Hoare triple {23793#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {23793#true} is VALID [2019-05-15 10:39:30,514 INFO L273 TraceCheckUtils]: 3: Hoare triple {23793#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {23793#true} is VALID [2019-05-15 10:39:30,515 INFO L273 TraceCheckUtils]: 4: Hoare triple {23793#true} assume main_p1 < main_p2; {23810#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:39:30,515 INFO L273 TraceCheckUtils]: 5: Hoare triple {23810#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {23814#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:30,516 INFO L273 TraceCheckUtils]: 6: Hoare triple {23814#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {23818#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:30,517 INFO L273 TraceCheckUtils]: 7: Hoare triple {23818#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {23822#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:30,518 INFO L273 TraceCheckUtils]: 8: Hoare triple {23822#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {23826#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:30,519 INFO L273 TraceCheckUtils]: 9: Hoare triple {23826#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23830#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:30,521 INFO L273 TraceCheckUtils]: 10: Hoare triple {23830#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23834#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-05-15 10:39:30,523 INFO L273 TraceCheckUtils]: 11: Hoare triple {23834#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {23838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:39:30,526 INFO L273 TraceCheckUtils]: 12: Hoare triple {23838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {23842#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:39:30,528 INFO L273 TraceCheckUtils]: 13: Hoare triple {23842#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23846#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:39:30,529 INFO L273 TraceCheckUtils]: 14: Hoare triple {23846#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {23794#false} is VALID [2019-05-15 10:39:30,531 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:39:30,531 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:39:30,531 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:39:30,532 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:39:30,532 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:39:30,532 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:39:30,553 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:30,553 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:39:30,554 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:39:30,554 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:39:30,554 INFO L87 Difference]: Start difference. First operand 32 states and 72 transitions. Second operand 12 states. [2019-05-15 10:39:31,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:31,881 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:39:31,881 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:39:31,881 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:39:31,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:39:31,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:39:31,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2019-05-15 10:39:31,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:39:31,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2019-05-15 10:39:31,883 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2019-05-15 10:39:31,965 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:31,966 INFO L225 Difference]: With dead ends: 47 [2019-05-15 10:39:31,966 INFO L226 Difference]: Without dead ends: 47 [2019-05-15 10:39:31,966 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:39:31,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2019-05-15 10:39:31,967 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2019-05-15 10:39:31,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:39:31,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 31 states. [2019-05-15 10:39:31,967 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 31 states. [2019-05-15 10:39:31,967 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 31 states. [2019-05-15 10:39:31,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:31,968 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:39:31,968 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:39:31,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:31,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:31,969 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 47 states. [2019-05-15 10:39:31,969 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 47 states. [2019-05-15 10:39:31,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:31,969 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:39:31,969 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:39:31,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:31,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:31,970 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:39:31,970 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:39:31,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:39:31,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 68 transitions. [2019-05-15 10:39:31,970 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 68 transitions. Word has length 15 [2019-05-15 10:39:31,971 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:39:31,971 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 68 transitions. [2019-05-15 10:39:31,971 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:39:31,971 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 68 transitions. [2019-05-15 10:39:31,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:39:31,971 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:39:31,971 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:39:31,971 INFO L418 AbstractCegarLoop]: === Iteration 115 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:39:31,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:39:31,971 INFO L82 PathProgramCache]: Analyzing trace with hash -398490654, now seen corresponding path program 47 times [2019-05-15 10:39:31,972 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:39:31,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:31,974 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:39:31,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:31,994 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:39:32,021 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:39:32,021 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,029 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:32,029 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,029 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:39:32,032 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:32,032 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_752|]. (and (= (store |v_#memory_int_752| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:32,033 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:32,058 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,058 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:39:32,059 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,067 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:32,067 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,067 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:39:32,100 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,101 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,102 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,104 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:39:32,119 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,129 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:32,129 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,129 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:39:32,168 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,169 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,170 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,171 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:39:32,173 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,185 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:32,185 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,185 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:39:32,201 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:32,201 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_755|]. (let ((.cse0 (select |v_#memory_int_755| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_755| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_755| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_755| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:32,201 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:32,239 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,241 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,242 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,242 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:32,245 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,257 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:32,257 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,257 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:32,272 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:32,272 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_756|]. (let ((.cse0 (select |v_#memory_int_756| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_756| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_756| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_756| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ .cse0 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:32,272 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:32,312 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,313 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,315 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:32,315 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:32,317 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:32,329 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:32,330 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:32,330 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:44,412 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:44,413 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_757|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_757| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_757| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_757| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (= (+ (select |v_#memory_int_757| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:44,413 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:44,496 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:44,498 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:44,500 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:44,500 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:44,503 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:44,517 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:44,517 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:44,518 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:44,532 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:44,532 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_758|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_758| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_758| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (+ (select |v_#memory_int_758| ULTIMATE.start_main_p2) 2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_758| ULTIMATE.start_main_p3) 1) (= 0 .cse0))) [2019-05-15 10:39:44,532 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:44,581 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:44,583 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:44,584 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:44,585 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:44,587 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:44,600 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:44,603 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:44,604 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:45,592 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:45,592 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_759|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_759| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_759| ULTIMATE.start_main_p1) 1) (= 0 (+ .cse0 2)) (= (select |v_#memory_int_759| ULTIMATE.start_main_p3) 1) (= (store |v_#memory_int_759| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:45,592 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3))) [2019-05-15 10:39:45,618 INFO L273 TraceCheckUtils]: 0: Hoare triple {24029#true} havoc main_p1, main_p2, main_p3; {24029#true} is VALID [2019-05-15 10:39:45,619 INFO L273 TraceCheckUtils]: 1: Hoare triple {24029#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {24029#true} is VALID [2019-05-15 10:39:45,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {24029#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {24029#true} is VALID [2019-05-15 10:39:45,619 INFO L273 TraceCheckUtils]: 3: Hoare triple {24029#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {24029#true} is VALID [2019-05-15 10:39:45,619 INFO L273 TraceCheckUtils]: 4: Hoare triple {24029#true} assume main_p1 < main_p2; {24046#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:39:45,620 INFO L273 TraceCheckUtils]: 5: Hoare triple {24046#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {24050#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,621 INFO L273 TraceCheckUtils]: 6: Hoare triple {24050#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {24054#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,622 INFO L273 TraceCheckUtils]: 7: Hoare triple {24054#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := 0]; {24058#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,622 INFO L273 TraceCheckUtils]: 8: Hoare triple {24058#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := 0]; {24062#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,623 INFO L273 TraceCheckUtils]: 9: Hoare triple {24062#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24066#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,625 INFO L273 TraceCheckUtils]: 10: Hoare triple {24066#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24070#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,626 INFO L273 TraceCheckUtils]: 11: Hoare triple {24070#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24074#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,628 INFO L273 TraceCheckUtils]: 12: Hoare triple {24074#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24078#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:39:45,630 INFO L273 TraceCheckUtils]: 13: Hoare triple {24078#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (exists ((ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24082#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:39:45,631 INFO L273 TraceCheckUtils]: 14: Hoare triple {24082#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {24030#false} is VALID [2019-05-15 10:39:45,632 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:39:45,632 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:39:45,633 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:39:45,633 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:39:45,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:39:45,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:39:45,654 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:45,655 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:39:45,655 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:39:45,655 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:39:45,655 INFO L87 Difference]: Start difference. First operand 31 states and 68 transitions. Second operand 12 states. [2019-05-15 10:39:46,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:46,636 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:39:46,636 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:39:46,636 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 15 [2019-05-15 10:39:46,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:39:46,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:39:46,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 57 transitions. [2019-05-15 10:39:46,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:39:46,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 57 transitions. [2019-05-15 10:39:46,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 57 transitions. [2019-05-15 10:39:46,719 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:39:46,720 INFO L225 Difference]: With dead ends: 47 [2019-05-15 10:39:46,720 INFO L226 Difference]: Without dead ends: 47 [2019-05-15 10:39:46,720 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:39:46,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2019-05-15 10:39:46,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 32. [2019-05-15 10:39:46,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:39:46,722 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 32 states. [2019-05-15 10:39:46,722 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 32 states. [2019-05-15 10:39:46,722 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 32 states. [2019-05-15 10:39:46,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:46,723 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:39:46,723 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:39:46,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:46,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:46,723 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 47 states. [2019-05-15 10:39:46,723 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 47 states. [2019-05-15 10:39:46,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:39:46,724 INFO L93 Difference]: Finished difference Result 47 states and 86 transitions. [2019-05-15 10:39:46,724 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 86 transitions. [2019-05-15 10:39:46,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:39:46,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:39:46,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:39:46,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:39:46,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:39:46,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 72 transitions. [2019-05-15 10:39:46,725 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 72 transitions. Word has length 15 [2019-05-15 10:39:46,725 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:39:46,725 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 72 transitions. [2019-05-15 10:39:46,725 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:39:46,725 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 72 transitions. [2019-05-15 10:39:46,725 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:39:46,725 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:39:46,726 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:39:46,726 INFO L418 AbstractCegarLoop]: === Iteration 116 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:39:46,726 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:39:46,726 INFO L82 PathProgramCache]: Analyzing trace with hash -398490592, now seen corresponding path program 48 times [2019-05-15 10:39:46,726 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:39:46,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:46,729 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:39:46,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:39:46,733 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:39:46,789 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:39:46,790 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,798 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:46,798 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,798 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:39:46,801 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:46,802 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_760|]. (and (= (store |v_#memory_int_760| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:46,802 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:46,830 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:46,830 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2019-05-15 10:39:46,831 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,841 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:46,842 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,842 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:17 [2019-05-15 10:39:46,880 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:46,881 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:46,882 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:46,883 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 22 [2019-05-15 10:39:46,885 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,896 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:46,897 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,897 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:22 [2019-05-15 10:39:46,935 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:46,937 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:46,938 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:46,939 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2019-05-15 10:39:46,941 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,953 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:46,953 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:39:46,953 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:32, output treesize:24 [2019-05-15 10:39:46,970 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:46,970 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_763|]. (let ((.cse0 (select |v_#memory_int_763| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_763| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_763| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_763| ULTIMATE.start_main_p3) 0))) [2019-05-15 10:39:46,970 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:47,007 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,026 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,048 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,049 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:47,093 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:47,222 WARN L188 SmtUtils]: Spent 129.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2019-05-15 10:39:47,223 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:47,223 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:47,223 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:47,242 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:47,242 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_764|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_764| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_764| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_764| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_764| ULTIMATE.start_main_p1)) (= (+ .cse0 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:47,242 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:47,278 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,279 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,281 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,281 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:47,283 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:47,294 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:47,294 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:47,295 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:47,300 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:47,300 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_765|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_765| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_765| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_765| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_765| ULTIMATE.start_main_p2) 2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:39:47,300 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:47,334 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,335 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,336 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,337 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:47,339 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:47,350 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:47,350 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:47,350 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:47,355 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:39:47,355 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_766|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_766| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_766| ULTIMATE.start_main_p2) 2) 0) (= (select |v_#memory_int_766| ULTIMATE.start_main_p3) 1) (= (store |v_#memory_int_766| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2019-05-15 10:39:47,355 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 2) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:39:47,390 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,392 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,393 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:39:47,394 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 29 [2019-05-15 10:39:47,396 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:39:47,407 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:39:47,408 INFO L496 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-05-15 10:39:47,408 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-05-15 10:39:54,240 WARN L193 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000) stderr output: (error "out of memory") [2019-05-15 10:39:54,242 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:207) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:224) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:153) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.logic.Util.checkSat(Util.java:61) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.EliminationTask.areDistinct(EliminationTask.java:106) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.validateEquivalence(PartialQuantifierElimination.java:400) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:313) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:102) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:292) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.FixedRefinementStrategy.getTraceCheck(FixedRefinementStrategy.java:134) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:453) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:429) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:371) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:332) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:170) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:122) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:204) ... 38 more [2019-05-15 10:39:54,247 INFO L168 Benchmark]: Toolchain (without parser) took 681407.82 ms. Allocated memory was 141.0 MB in the beginning and 534.2 MB in the end (delta: 393.2 MB). Free memory was 110.8 MB in the beginning and 444.7 MB in the end (delta: -333.9 MB). Peak memory consumption was 59.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:39:54,247 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.34 ms. Allocated memory is still 141.0 MB. Free memory is still 112.0 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-05-15 10:39:54,247 INFO L168 Benchmark]: Boogie Procedure Inliner took 63.55 ms. Allocated memory is still 141.0 MB. Free memory was 110.6 MB in the beginning and 108.4 MB in the end (delta: 2.2 MB). Peak memory consumption was 2.2 MB. Max. memory is 7.1 GB. [2019-05-15 10:39:54,247 INFO L168 Benchmark]: Boogie Preprocessor took 24.06 ms. Allocated memory is still 141.0 MB. Free memory was 108.4 MB in the beginning and 107.3 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. [2019-05-15 10:39:54,247 INFO L168 Benchmark]: RCFGBuilder took 580.17 ms. Allocated memory is still 141.0 MB. Free memory was 107.1 MB in the beginning and 93.5 MB in the end (delta: 13.6 MB). Peak memory consumption was 13.6 MB. Max. memory is 7.1 GB. [2019-05-15 10:39:54,248 INFO L168 Benchmark]: TraceAbstraction took 680734.06 ms. Allocated memory was 141.0 MB in the beginning and 534.2 MB in the end (delta: 393.2 MB). Free memory was 93.1 MB in the beginning and 444.7 MB in the end (delta: -351.6 MB). Peak memory consumption was 41.6 MB. Max. memory is 7.1 GB. [2019-05-15 10:39:54,248 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.34 ms. Allocated memory is still 141.0 MB. Free memory is still 112.0 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 63.55 ms. Allocated memory is still 141.0 MB. Free memory was 110.6 MB in the beginning and 108.4 MB in the end (delta: 2.2 MB). Peak memory consumption was 2.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 24.06 ms. Allocated memory is still 141.0 MB. Free memory was 108.4 MB in the beginning and 107.3 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 580.17 ms. Allocated memory is still 141.0 MB. Free memory was 107.1 MB in the beginning and 93.5 MB in the end (delta: 13.6 MB). Peak memory consumption was 13.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 680734.06 ms. Allocated memory was 141.0 MB in the beginning and 534.2 MB in the end (delta: 393.2 MB). Free memory was 93.1 MB in the beginning and 444.7 MB in the end (delta: -351.6 MB). Peak memory consumption was 41.6 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:207) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...