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-4-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1c58c86 [2019-05-15 10:28:45,239 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-05-15 10:28:45,241 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-05-15 10:28:45,253 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-15 10:28:45,253 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-05-15 10:28:45,254 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-15 10:28:45,255 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-05-15 10:28:45,257 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-05-15 10:28:45,259 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-05-15 10:28:45,260 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-05-15 10:28:45,261 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-05-15 10:28:45,261 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-05-15 10:28:45,262 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-05-15 10:28:45,263 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-05-15 10:28:45,264 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-05-15 10:28:45,265 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-15 10:28:45,266 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-05-15 10:28:45,268 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-15 10:28:45,270 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-05-15 10:28:45,272 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-05-15 10:28:45,273 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-05-15 10:28:45,274 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-05-15 10:28:45,277 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-15 10:28:45,277 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-15 10:28:45,277 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-05-15 10:28:45,278 INFO L174 SettingsManager]: Resetting IcfgToChc preferences to default values [2019-05-15 10:28:45,279 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-05-15 10:28:45,280 INFO L177 SettingsManager]: ReqToTest provides no preferences, ignoring... [2019-05-15 10:28:45,280 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-05-15 10:28:45,281 INFO L174 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2019-05-15 10:28:45,281 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-05-15 10:28:45,282 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-05-15 10:28:45,283 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-15 10:28:45,283 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-05-15 10:28:45,284 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-05-15 10:28:45,284 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-05-15 10:28:45,284 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-05-15 10:28:45,285 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-05-15 10:28:45,286 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:45,314 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-05-15 10:28:45,327 INFO L259 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-15 10:28:45,331 INFO L215 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-05-15 10:28:45,332 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-05-15 10:28:45,333 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2019-05-15 10:28:45,334 INFO L430 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-4-limited.bpl [2019-05-15 10:28:45,334 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-4-limited.bpl' [2019-05-15 10:28:45,382 INFO L297 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-05-15 10:28:45,384 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-05-15 10:28:45,385 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-15 10:28:45,385 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-05-15 10:28:45,385 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2019-05-15 10:28:45,402 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,418 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,439 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-15 10:28:45,440 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-05-15 10:28:45,440 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-05-15 10:28:45,440 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2019-05-15 10:28:45,450 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,451 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,452 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,452 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,455 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,458 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,459 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/1) ... [2019-05-15 10:28:45,461 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-15 10:28:45,461 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-05-15 10:28:45,462 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-05-15 10:28:45,462 INFO L275 PluginConnector]: RCFGBuilder initialized [2019-05-15 10:28:45,463 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (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:45,530 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2019-05-15 10:28:45,531 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-05-15 10:28:45,531 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-05-15 10:28:46,169 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-05-15 10:28:46,169 INFO L283 CfgBuilder]: Removed 3 assume(true) statements. [2019-05-15 10:28:46,170 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:28:46 BoogieIcfgContainer [2019-05-15 10:28:46,171 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-05-15 10:28:46,172 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-05-15 10:28:46,172 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-05-15 10:28:46,175 INFO L275 PluginConnector]: TraceAbstraction initialized [2019-05-15 10:28:46,176 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:28:45" (1/2) ... [2019-05-15 10:28:46,177 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@19053db and model type speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.05 10:28:46, skipping insertion in model container [2019-05-15 10:28:46,177 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-4-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:28:46" (2/2) ... [2019-05-15 10:28:46,178 INFO L109 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-4-limited.bpl [2019-05-15 10:28:46,187 INFO L152 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-15 10:28:46,195 INFO L164 ceAbstractionStarter]: Appying trace abstraction to program that has 4 error locations. [2019-05-15 10:28:46,211 INFO L252 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2019-05-15 10:28:46,236 INFO L127 ementStrategyFactory]: Using default assertion order modulation [2019-05-15 10:28:46,236 INFO L377 AbstractCegarLoop]: Interprodecural is true [2019-05-15 10:28:46,237 INFO L378 AbstractCegarLoop]: Hoare is false [2019-05-15 10:28:46,237 INFO L379 AbstractCegarLoop]: Compute interpolants for ForwardPredicates [2019-05-15 10:28:46,237 INFO L380 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-05-15 10:28:46,237 INFO L381 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-05-15 10:28:46,237 INFO L382 AbstractCegarLoop]: Difference is false [2019-05-15 10:28:46,238 INFO L383 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-05-15 10:28:46,238 INFO L388 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-15 10:28:46,251 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states. [2019-05-15 10:28:46,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2019-05-15 10:28:46,260 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:46,261 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:46,263 INFO L418 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:46,269 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:46,269 INFO L82 PathProgramCache]: Analyzing trace with hash -1837560201, now seen corresponding path program 1 times [2019-05-15 10:28:46,319 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:46,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:46,377 INFO L256 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 8 conjunts are in the unsatisfiable core [2019-05-15 10:28:46,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:46,398 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:46,813 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,813 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:46,855 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:46,855 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,856 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:28:46,859 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:46,860 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_25|]. (and (= (store |v_#memory_int_25| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:46,860 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,281 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,284 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,297 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,351 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:47,352 INFO L496 ElimStorePlain]: Start of recursive call 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,354 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:28:47,364 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:47,365 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_26| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_26| 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:28:47,365 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,643 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,645 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,647 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,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:28:47,662 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:47,780 WARN L188 SmtUtils]: Spent 116.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2019-05-15 10:28:47,780 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:47,785 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,786 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:26, output treesize:25 [2019-05-15 10:28:47,790 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:47,790 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_27| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_27| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_27| ULTIMATE.start_main_p3 0))) [2019-05-15 10:28:47,790 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,921 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,923 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,924 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,925 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,927 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,929 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:47,932 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:28:47,941 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:48,098 WARN L188 SmtUtils]: Spent 155.00 ms on a formula simplification that was a NOOP. DAG size: 18 [2019-05-15 10:28:48,098 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:48,150 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:48,151 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:31, output treesize:30 [2019-05-15 10:28:48,164 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:48,165 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_28| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_28| ULTIMATE.start_main_p4 0) |#memory_int|) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:48,165 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:28:48,293 INFO L273 TraceCheckUtils]: 0: Hoare triple {25#true} havoc main_p1, main_p2, main_p3, main_p4; {25#true} is VALID [2019-05-15 10:28:48,297 INFO L273 TraceCheckUtils]: 1: Hoare triple {25#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {25#true} is VALID [2019-05-15 10:28:48,297 INFO L273 TraceCheckUtils]: 2: Hoare triple {25#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {25#true} is VALID [2019-05-15 10:28:48,297 INFO L273 TraceCheckUtils]: 3: Hoare triple {25#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {25#true} is VALID [2019-05-15 10:28:48,298 INFO L273 TraceCheckUtils]: 4: Hoare triple {25#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {25#true} is VALID [2019-05-15 10:28:48,298 INFO L273 TraceCheckUtils]: 5: Hoare triple {25#true} assume main_p1 < main_p2; {45#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:48,303 INFO L273 TraceCheckUtils]: 6: Hoare triple {45#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {49#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:48,304 INFO L273 TraceCheckUtils]: 7: Hoare triple {49#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {53#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:48,322 INFO L273 TraceCheckUtils]: 8: Hoare triple {53#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {57#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:48,324 INFO L273 TraceCheckUtils]: 9: Hoare triple {57#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {61#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:48,326 INFO L273 TraceCheckUtils]: 10: Hoare triple {61#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {65#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:48,328 INFO L273 TraceCheckUtils]: 11: Hoare triple {65#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := 0]; {69#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:48,329 INFO L273 TraceCheckUtils]: 12: Hoare triple {69#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {26#false} is VALID [2019-05-15 10:28:48,332 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:48,334 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:28:48,335 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2019-05-15 10:28:48,339 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 13 [2019-05-15 10:28:48,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:48,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-05-15 10:28:48,424 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:48,425 INFO L454 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-05-15 10:28:48,433 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-05-15 10:28:48,433 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:48,435 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 9 states. [2019-05-15 10:28:49,582 WARN L188 SmtUtils]: Spent 131.00 ms on a formula simplification that was a NOOP. DAG size: 20 [2019-05-15 10:28:50,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:50,797 INFO L93 Difference]: Finished difference Result 58 states and 73 transitions. [2019-05-15 10:28:50,797 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-05-15 10:28:50,797 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 13 [2019-05-15 10:28:50,797 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:50,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:50,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2019-05-15 10:28:50,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:28:50,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2019-05-15 10:28:50,812 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 77 transitions. [2019-05-15 10:28:51,030 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:51,044 INFO L225 Difference]: With dead ends: 58 [2019-05-15 10:28:51,045 INFO L226 Difference]: Without dead ends: 48 [2019-05-15 10:28:51,047 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=48, Invalid=84, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:28:51,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2019-05-15 10:28:51,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 21. [2019-05-15 10:28:51,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:51,077 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 21 states. [2019-05-15 10:28:51,078 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 21 states. [2019-05-15 10:28:51,078 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 21 states. [2019-05-15 10:28:51,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:51,083 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2019-05-15 10:28:51,084 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2019-05-15 10:28:51,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:51,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:51,085 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 48 states. [2019-05-15 10:28:51,085 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 48 states. [2019-05-15 10:28:51,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:51,090 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2019-05-15 10:28:51,090 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2019-05-15 10:28:51,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:51,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:51,091 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:51,091 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:51,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2019-05-15 10:28:51,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 28 transitions. [2019-05-15 10:28:51,095 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 28 transitions. Word has length 13 [2019-05-15 10:28:51,095 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:51,095 INFO L475 AbstractCegarLoop]: Abstraction has 21 states and 28 transitions. [2019-05-15 10:28:51,095 INFO L476 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-05-15 10:28:51,096 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 28 transitions. [2019-05-15 10:28:51,096 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:28:51,096 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:51,096 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:51,097 INFO L418 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:51,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:51,097 INFO L82 PathProgramCache]: Analyzing trace with hash -1129791756, now seen corresponding path program 1 times [2019-05-15 10:28:51,098 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:51,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:51,115 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 9 conjunts are in the unsatisfiable core [2019-05-15 10:28:51,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:51,123 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:51,218 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,218 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,230 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,231 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,231 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:28:51,239 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:51,239 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_29|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_29| 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:51,239 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:51,307 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,309 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,310 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,353 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,355 INFO L496 ElimStorePlain]: Start of recursive call 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,355 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:28:51,360 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:51,360 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_30| ULTIMATE.start_main_p2 0) |#memory_int|) (= (select |v_#memory_int_30| 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:51,361 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:51,416 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,421 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,422 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,424 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:51,429 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,443 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,447 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:51,448 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:26, output treesize:25 [2019-05-15 10:28:51,457 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:51,457 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |v_#memory_int_31| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_31| 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_31| ULTIMATE.start_main_p1) 0)) [2019-05-15 10:28:51,457 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:51,514 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,520 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,522 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,524 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,526 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,528 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,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, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:28:51,537 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,564 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,568 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:51,569 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:31, output treesize:30 [2019-05-15 10:28:51,577 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:51,577 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_32| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_32| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_32| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_32| ULTIMATE.start_main_p4 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:28:51,578 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:28:51,668 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,671 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,672 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,673 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,673 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,675 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:51,678 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:28:51,688 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:51,709 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:51,713 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:51,713 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:28:51,722 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:51,722 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_33| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_33| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:51,722 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:28:51,766 INFO L273 TraceCheckUtils]: 0: Hoare triple {253#true} havoc main_p1, main_p2, main_p3, main_p4; {253#true} is VALID [2019-05-15 10:28:51,766 INFO L273 TraceCheckUtils]: 1: Hoare triple {253#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {253#true} is VALID [2019-05-15 10:28:51,766 INFO L273 TraceCheckUtils]: 2: Hoare triple {253#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {253#true} is VALID [2019-05-15 10:28:51,767 INFO L273 TraceCheckUtils]: 3: Hoare triple {253#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {253#true} is VALID [2019-05-15 10:28:51,767 INFO L273 TraceCheckUtils]: 4: Hoare triple {253#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {253#true} is VALID [2019-05-15 10:28:51,769 INFO L273 TraceCheckUtils]: 5: Hoare triple {253#true} assume main_p1 < main_p2; {273#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:28:51,769 INFO L273 TraceCheckUtils]: 6: Hoare triple {273#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {277#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:51,770 INFO L273 TraceCheckUtils]: 7: Hoare triple {277#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {281#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:28:51,771 INFO L273 TraceCheckUtils]: 8: Hoare triple {281#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {285#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:51,773 INFO L273 TraceCheckUtils]: 9: Hoare triple {285#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {289#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:51,775 INFO L273 TraceCheckUtils]: 10: Hoare triple {289#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {293#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:51,778 INFO L273 TraceCheckUtils]: 11: Hoare triple {293#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := 0]; {297#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:51,781 INFO L273 TraceCheckUtils]: 12: Hoare triple {297#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {301#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:28:51,782 INFO L273 TraceCheckUtils]: 13: Hoare triple {301#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {254#false} is VALID [2019-05-15 10:28:51,784 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:51,785 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:28:51,785 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2019-05-15 10:28:51,787 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 14 [2019-05-15 10:28:51,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:51,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-05-15 10:28:51,810 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:28:51,810 INFO L454 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-05-15 10:28:51,810 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-05-15 10:28:51,810 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2019-05-15 10:28:51,811 INFO L87 Difference]: Start difference. First operand 21 states and 28 transitions. Second operand 10 states. [2019-05-15 10:28:53,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:53,550 INFO L93 Difference]: Finished difference Result 55 states and 73 transitions. [2019-05-15 10:28:53,550 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-05-15 10:28:53,550 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 14 [2019-05-15 10:28:53,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:53,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:28:53,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2019-05-15 10:28:53,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-05-15 10:28:53,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2019-05-15 10:28:53,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 74 transitions. [2019-05-15 10:28:53,724 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:28:53,728 INFO L225 Difference]: With dead ends: 55 [2019-05-15 10:28:53,728 INFO L226 Difference]: Without dead ends: 55 [2019-05-15 10:28:53,729 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2019-05-15 10:28:53,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-05-15 10:28:53,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 23. [2019-05-15 10:28:53,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:53,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 23 states. [2019-05-15 10:28:53,733 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 23 states. [2019-05-15 10:28:53,733 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 23 states. [2019-05-15 10:28:53,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:53,737 INFO L93 Difference]: Finished difference Result 55 states and 73 transitions. [2019-05-15 10:28:53,737 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 73 transitions. [2019-05-15 10:28:53,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:53,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:53,738 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 55 states. [2019-05-15 10:28:53,738 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 55 states. [2019-05-15 10:28:53,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:53,742 INFO L93 Difference]: Finished difference Result 55 states and 73 transitions. [2019-05-15 10:28:53,742 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 73 transitions. [2019-05-15 10:28:53,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:53,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:53,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:53,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:53,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2019-05-15 10:28:53,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 38 transitions. [2019-05-15 10:28:53,745 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 38 transitions. Word has length 14 [2019-05-15 10:28:53,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:53,746 INFO L475 AbstractCegarLoop]: Abstraction has 23 states and 38 transitions. [2019-05-15 10:28:53,746 INFO L476 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-05-15 10:28:53,746 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 38 transitions. [2019-05-15 10:28:53,747 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2019-05-15 10:28:53,747 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:53,747 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:53,747 INFO L418 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:53,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:53,748 INFO L82 PathProgramCache]: Analyzing trace with hash -1129791320, now seen corresponding path program 1 times [2019-05-15 10:28:53,748 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:53,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:53,764 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 6 conjunts are in the unsatisfiable core [2019-05-15 10:28:53,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:53,773 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:53,841 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:53,841 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:53,849 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:53,849 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:53,849 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:28:53,852 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:53,852 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_34| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:53,852 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:53,889 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:53,892 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:53,893 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:53,903 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:53,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:28:53,905 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:28:53,907 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:53,907 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_35| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_35| ULTIMATE.start_main_p3 0) |#memory_int|)) [2019-05-15 10:28:53,907 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:53,946 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:53,947 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:53,953 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:53,955 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:53,959 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:53,975 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:53,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:28:53,978 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:23, output treesize:22 [2019-05-15 10:28:53,987 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:53,988 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_36| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_36| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_36| ULTIMATE.start_main_p4 0))) [2019-05-15 10:28:53,988 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:28:54,025 INFO L273 TraceCheckUtils]: 0: Hoare triple {500#true} havoc main_p1, main_p2, main_p3, main_p4; {500#true} is VALID [2019-05-15 10:28:54,026 INFO L273 TraceCheckUtils]: 1: Hoare triple {500#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {500#true} is VALID [2019-05-15 10:28:54,026 INFO L273 TraceCheckUtils]: 2: Hoare triple {500#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {500#true} is VALID [2019-05-15 10:28:54,026 INFO L273 TraceCheckUtils]: 3: Hoare triple {500#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {500#true} is VALID [2019-05-15 10:28:54,026 INFO L273 TraceCheckUtils]: 4: Hoare triple {500#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {500#true} is VALID [2019-05-15 10:28:54,027 INFO L273 TraceCheckUtils]: 5: Hoare triple {500#true} assume main_p1 < main_p2; {500#true} is VALID [2019-05-15 10:28:54,027 INFO L273 TraceCheckUtils]: 6: Hoare triple {500#true} assume main_p2 < main_p3; {523#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:28:54,028 INFO L273 TraceCheckUtils]: 7: Hoare triple {523#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} assume main_p3 < main_p4; {527#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:28:54,029 INFO L273 TraceCheckUtils]: 8: Hoare triple {527#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := 0]; {527#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:28:54,030 INFO L273 TraceCheckUtils]: 9: Hoare triple {527#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := 0]; {534#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:28:54,030 INFO L273 TraceCheckUtils]: 10: Hoare triple {534#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {538#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:54,032 INFO L273 TraceCheckUtils]: 11: Hoare triple {538#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {542#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-05-15 10:28:54,032 INFO L273 TraceCheckUtils]: 12: Hoare triple {542#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {542#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-05-15 10:28:54,034 INFO L273 TraceCheckUtils]: 13: Hoare triple {542#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {501#false} is VALID [2019-05-15 10:28:54,036 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:54,036 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:28:54,036 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2019-05-15 10:28:54,036 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 14 [2019-05-15 10:28:54,037 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:28:54,037 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2019-05-15 10:28:54,068 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:28:54,069 INFO L454 AbstractCegarLoop]: Interpolant automaton has 7 states [2019-05-15 10:28:54,069 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2019-05-15 10:28:54,069 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2019-05-15 10:28:54,070 INFO L87 Difference]: Start difference. First operand 23 states and 38 transitions. Second operand 7 states. [2019-05-15 10:28:59,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:59,080 INFO L93 Difference]: Finished difference Result 40 states and 60 transitions. [2019-05-15 10:28:59,080 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-05-15 10:28:59,081 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 14 [2019-05-15 10:28:59,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:28:59,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:28:59,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2019-05-15 10:28:59,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:28:59,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2019-05-15 10:28:59,085 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 53 transitions. [2019-05-15 10:28:59,271 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:59,274 INFO L225 Difference]: With dead ends: 40 [2019-05-15 10:28:59,274 INFO L226 Difference]: Without dead ends: 40 [2019-05-15 10:28:59,275 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2019-05-15 10:28:59,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2019-05-15 10:28:59,277 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 25. [2019-05-15 10:28:59,277 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:28:59,277 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 25 states. [2019-05-15 10:28:59,278 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 25 states. [2019-05-15 10:28:59,278 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 25 states. [2019-05-15 10:28:59,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:59,280 INFO L93 Difference]: Finished difference Result 40 states and 60 transitions. [2019-05-15 10:28:59,281 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 60 transitions. [2019-05-15 10:28:59,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:59,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:59,282 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 40 states. [2019-05-15 10:28:59,282 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 40 states. [2019-05-15 10:28:59,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:28:59,284 INFO L93 Difference]: Finished difference Result 40 states and 60 transitions. [2019-05-15 10:28:59,285 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 60 transitions. [2019-05-15 10:28:59,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:28:59,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:28:59,285 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:28:59,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:28:59,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-05-15 10:28:59,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 44 transitions. [2019-05-15 10:28:59,287 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 44 transitions. Word has length 14 [2019-05-15 10:28:59,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:28:59,288 INFO L475 AbstractCegarLoop]: Abstraction has 25 states and 44 transitions. [2019-05-15 10:28:59,288 INFO L476 AbstractCegarLoop]: Interpolant automaton has 7 states. [2019-05-15 10:28:59,288 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 44 transitions. [2019-05-15 10:28:59,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:28:59,289 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:28:59,289 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:28:59,289 INFO L418 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:28:59,289 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:28:59,290 INFO L82 PathProgramCache]: Analyzing trace with hash -663806441, now seen corresponding path program 2 times [2019-05-15 10:28:59,290 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:28:59,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:59,307 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:28:59,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:28:59,324 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:28:59,399 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:59,399 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:59,408 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:59,409 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:28:59,409 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:28:59,412 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:59,412 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_37| 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:59,412 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:59,460 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,462 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:59,463 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:59,474 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:59,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:28:59,475 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:28:59,479 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:59,479 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_38| ULTIMATE.start_main_p2 0) |#memory_int|) (= 0 (select |v_#memory_int_38| 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:59,479 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:59,546 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,547 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,548 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,550 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:59,552 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:59,565 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:59,568 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:59,568 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:26, output treesize:25 [2019-05-15 10:28:59,573 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:59,573 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_39| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_39| 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_39| ULTIMATE.start_main_p1) 0)) [2019-05-15 10:28:59,573 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:59,722 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,723 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,724 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,725 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,726 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,726 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,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, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:28:59,730 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:59,743 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:59,746 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:59,747 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:31, output treesize:30 [2019-05-15 10:28:59,758 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:59,759 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_40|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_40| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_40| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_40| ULTIMATE.start_main_p4 0) |#memory_int|) (= (select |v_#memory_int_40| 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:59,759 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:28:59,835 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,837 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,838 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,840 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,841 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,845 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,847 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:28:59,850 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:59,867 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:59,871 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:59,871 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:28:59,876 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:59,876 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_41| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_41| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_41| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_41| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_41| 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:28:59,877 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:28:59,951 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,952 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,954 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,955 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,956 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,958 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:28:59,961 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:28:59,963 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:28:59,978 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:28:59,982 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:28:59,982 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:28:59,990 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:28:59,990 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_42| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_42| ULTIMATE.start_main_p2) 0) (= .cse0 1) (= (select |v_#memory_int_42| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:28:59,991 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:00,019 INFO L273 TraceCheckUtils]: 0: Hoare triple {697#true} havoc main_p1, main_p2, main_p3, main_p4; {697#true} is VALID [2019-05-15 10:29:00,020 INFO L273 TraceCheckUtils]: 1: Hoare triple {697#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {697#true} is VALID [2019-05-15 10:29:00,020 INFO L273 TraceCheckUtils]: 2: Hoare triple {697#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {697#true} is VALID [2019-05-15 10:29:00,020 INFO L273 TraceCheckUtils]: 3: Hoare triple {697#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {697#true} is VALID [2019-05-15 10:29:00,021 INFO L273 TraceCheckUtils]: 4: Hoare triple {697#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {697#true} is VALID [2019-05-15 10:29:00,021 INFO L273 TraceCheckUtils]: 5: Hoare triple {697#true} assume main_p1 < main_p2; {717#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:00,022 INFO L273 TraceCheckUtils]: 6: Hoare triple {717#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {721#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:00,023 INFO L273 TraceCheckUtils]: 7: Hoare triple {721#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {725#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:00,023 INFO L273 TraceCheckUtils]: 8: Hoare triple {725#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {729#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:00,024 INFO L273 TraceCheckUtils]: 9: Hoare triple {729#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {733#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:00,026 INFO L273 TraceCheckUtils]: 10: Hoare triple {733#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {737#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:00,032 INFO L273 TraceCheckUtils]: 11: Hoare triple {737#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := 0]; {741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:00,035 INFO L273 TraceCheckUtils]: 12: Hoare triple {741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {745#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:00,037 INFO L273 TraceCheckUtils]: 13: Hoare triple {745#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {749#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:00,039 INFO L273 TraceCheckUtils]: 14: Hoare triple {749#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {698#false} is VALID [2019-05-15 10:29:00,041 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:00,041 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:00,042 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:29:00,042 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:00,043 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:00,043 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:29:00,076 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:29:00,077 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:29:00,077 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:29:00,077 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:00,078 INFO L87 Difference]: Start difference. First operand 25 states and 44 transitions. Second operand 11 states. [2019-05-15 10:29:05,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:05,909 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2019-05-15 10:29:05,910 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:29:05,910 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:05,910 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:05,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:05,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2019-05-15 10:29:05,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:05,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2019-05-15 10:29:05,914 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 81 transitions. [2019-05-15 10:29:06,100 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:06,101 INFO L225 Difference]: With dead ends: 59 [2019-05-15 10:29:06,102 INFO L226 Difference]: Without dead ends: 59 [2019-05-15 10:29:06,102 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 4.6s TimeCoverageRelationStatistics Valid=64, Invalid=176, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:29:06,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2019-05-15 10:29:06,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 26. [2019-05-15 10:29:06,105 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:06,105 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 26 states. [2019-05-15 10:29:06,105 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 26 states. [2019-05-15 10:29:06,106 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 26 states. [2019-05-15 10:29:06,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:06,108 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2019-05-15 10:29:06,109 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2019-05-15 10:29:06,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:06,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:06,110 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 59 states. [2019-05-15 10:29:06,110 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 59 states. [2019-05-15 10:29:06,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:06,113 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2019-05-15 10:29:06,113 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2019-05-15 10:29:06,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:06,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:06,114 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:06,114 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:06,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:29:06,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 49 transitions. [2019-05-15 10:29:06,116 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 49 transitions. Word has length 15 [2019-05-15 10:29:06,116 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:06,116 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 49 transitions. [2019-05-15 10:29:06,117 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:29:06,117 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 49 transitions. [2019-05-15 10:29:06,117 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:29:06,117 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:06,117 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:06,118 INFO L418 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:06,118 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:06,118 INFO L82 PathProgramCache]: Analyzing trace with hash -663806317, now seen corresponding path program 1 times [2019-05-15 10:29:06,119 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:06,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:06,135 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:29:06,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:06,157 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:06,229 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,229 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,240 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,240 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,241 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:06,245 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,245 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|]. (and (= (store |v_#memory_int_43| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,246 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,282 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,283 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,284 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,296 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,296 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,296 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:06,361 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,363 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,364 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,367 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,370 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,383 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,386 INFO L496 ElimStorePlain]: Start of recursive call 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,386 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:06,390 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,390 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_45| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_45| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_45| 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,390 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,516 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,517 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,520 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,521 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,522 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,524 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,526 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:06,530 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,544 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,547 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,547 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:06,553 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,553 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_46| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_46| ULTIMATE.start_main_p4 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p1))) [2019-05-15 10:29:06,553 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,657 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,659 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,660 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,661 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,663 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,664 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,666 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:06,669 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,686 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,689 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,689 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:06,694 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,694 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_47| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_47| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_47| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_47| 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:06,694 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:06,754 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,756 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,757 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,758 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,760 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,761 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:06,764 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:06,783 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:06,796 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:06,807 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:06,807 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:29:06,813 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:06,813 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_48|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_48| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_48| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 1 (select |v_#memory_int_48| 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_48| ULTIMATE.start_main_p3)))) [2019-05-15 10:29:06,813 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:06,838 INFO L273 TraceCheckUtils]: 0: Hoare triple {965#true} havoc main_p1, main_p2, main_p3, main_p4; {965#true} is VALID [2019-05-15 10:29:06,839 INFO L273 TraceCheckUtils]: 1: Hoare triple {965#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {965#true} is VALID [2019-05-15 10:29:06,839 INFO L273 TraceCheckUtils]: 2: Hoare triple {965#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {965#true} is VALID [2019-05-15 10:29:06,840 INFO L273 TraceCheckUtils]: 3: Hoare triple {965#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {965#true} is VALID [2019-05-15 10:29:06,840 INFO L273 TraceCheckUtils]: 4: Hoare triple {965#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {965#true} is VALID [2019-05-15 10:29:06,841 INFO L273 TraceCheckUtils]: 5: Hoare triple {965#true} assume main_p1 < main_p2; {985#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:06,841 INFO L273 TraceCheckUtils]: 6: Hoare triple {985#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {989#(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,844 INFO L273 TraceCheckUtils]: 7: Hoare triple {989#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,846 INFO L273 TraceCheckUtils]: 8: Hoare triple {993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {997#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,846 INFO L273 TraceCheckUtils]: 9: Hoare triple {997#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1001#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,847 INFO L273 TraceCheckUtils]: 10: Hoare triple {1001#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1005#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,849 INFO L273 TraceCheckUtils]: 11: Hoare triple {1005#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {1009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,851 INFO L273 TraceCheckUtils]: 12: Hoare triple {1009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:06,855 INFO L273 TraceCheckUtils]: 13: Hoare triple {1013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:06,856 INFO L273 TraceCheckUtils]: 14: Hoare triple {1017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {966#false} is VALID [2019-05-15 10:29:06,858 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:06,858 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:06,858 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:29:06,858 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:06,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:06,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:29:06,878 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:29:06,878 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:29:06,878 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:29:06,879 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:06,879 INFO L87 Difference]: Start difference. First operand 26 states and 49 transitions. Second operand 11 states. [2019-05-15 10:29:08,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:08,242 INFO L93 Difference]: Finished difference Result 59 states and 84 transitions. [2019-05-15 10:29:08,242 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:29:08,242 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:08,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:08,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:08,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2019-05-15 10:29:08,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:08,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2019-05-15 10:29:08,246 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 81 transitions. [2019-05-15 10:29:08,396 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:08,398 INFO L225 Difference]: With dead ends: 59 [2019-05-15 10:29:08,398 INFO L226 Difference]: Without dead ends: 59 [2019-05-15 10:29:08,398 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:29:08,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2019-05-15 10:29:08,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 26. [2019-05-15 10:29:08,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:08,401 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 26 states. [2019-05-15 10:29:08,402 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 26 states. [2019-05-15 10:29:08,402 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 26 states. [2019-05-15 10:29:08,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:08,404 INFO L93 Difference]: Finished difference Result 59 states and 84 transitions. [2019-05-15 10:29:08,404 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 84 transitions. [2019-05-15 10:29:08,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:08,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:08,405 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 59 states. [2019-05-15 10:29:08,405 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 59 states. [2019-05-15 10:29:08,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:08,408 INFO L93 Difference]: Finished difference Result 59 states and 84 transitions. [2019-05-15 10:29:08,408 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 84 transitions. [2019-05-15 10:29:08,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:08,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:08,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:08,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:08,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:29:08,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 49 transitions. [2019-05-15 10:29:08,411 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 49 transitions. Word has length 15 [2019-05-15 10:29:08,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:08,411 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 49 transitions. [2019-05-15 10:29:08,411 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:29:08,411 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 49 transitions. [2019-05-15 10:29:08,411 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:29:08,412 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:08,412 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:08,412 INFO L418 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:08,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:08,412 INFO L82 PathProgramCache]: Analyzing trace with hash -663806193, now seen corresponding path program 1 times [2019-05-15 10:29:08,413 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:08,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:08,435 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:29:08,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:08,453 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:08,549 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:08,549 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,556 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:08,556 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,557 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:08,559 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:08,560 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_49| 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:08,560 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:08,597 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,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:29:08,604 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,614 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:08,615 INFO L496 ElimStorePlain]: Start of recursive call 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,616 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:08,620 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:08,621 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_50| 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:08,621 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:08,694 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,695 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,696 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,697 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:08,700 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,713 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:08,714 INFO L496 ElimStorePlain]: Start of recursive call 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,714 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:08,781 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,782 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,783 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,784 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,799 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,800 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,801 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:08,803 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:08,816 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:08,818 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,819 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:08,824 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:08,825 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_52|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_52| ULTIMATE.start_main_p4 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_52| 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_52| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_52| ULTIMATE.start_main_p1))) [2019-05-15 10:29:08,825 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:08,973 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,975 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,976 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,977 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,978 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,979 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:08,981 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:08,988 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,000 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:09,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:09,003 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:09,007 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:09,008 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_53|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_53| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_53| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_53| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_53| ULTIMATE.start_main_p3) 0) (= (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) (= .cse0 0))) [2019-05-15 10:29:09,008 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:09,120 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,121 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,122 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,123 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,124 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,125 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:09,128 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:09,140 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:09,154 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:09,157 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:09,157 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:21,224 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:21,225 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_54| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_54| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_54| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_54| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_54| 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:29:21,225 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4) 0)) [2019-05-15 10:29:21,326 INFO L273 TraceCheckUtils]: 0: Hoare triple {1231#true} havoc main_p1, main_p2, main_p3, main_p4; {1231#true} is VALID [2019-05-15 10:29:21,327 INFO L273 TraceCheckUtils]: 1: Hoare triple {1231#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1231#true} is VALID [2019-05-15 10:29:21,327 INFO L273 TraceCheckUtils]: 2: Hoare triple {1231#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1231#true} is VALID [2019-05-15 10:29:21,328 INFO L273 TraceCheckUtils]: 3: Hoare triple {1231#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1231#true} is VALID [2019-05-15 10:29:21,328 INFO L273 TraceCheckUtils]: 4: Hoare triple {1231#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {1231#true} is VALID [2019-05-15 10:29:21,329 INFO L273 TraceCheckUtils]: 5: Hoare triple {1231#true} assume main_p1 < main_p2; {1251#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:21,329 INFO L273 TraceCheckUtils]: 6: Hoare triple {1251#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {1255#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:21,330 INFO L273 TraceCheckUtils]: 7: Hoare triple {1255#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {1259#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:21,331 INFO L273 TraceCheckUtils]: 8: Hoare triple {1259#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {1263#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:21,331 INFO L273 TraceCheckUtils]: 9: Hoare triple {1263#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1267#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:21,333 INFO L273 TraceCheckUtils]: 10: Hoare triple {1267#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1271#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:21,335 INFO L273 TraceCheckUtils]: 11: Hoare triple {1271#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {1275#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:21,337 INFO L273 TraceCheckUtils]: 12: Hoare triple {1275#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {1279#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:21,340 INFO L273 TraceCheckUtils]: 13: Hoare triple {1279#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {1283#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-05-15 10:29:21,341 INFO L273 TraceCheckUtils]: 14: Hoare triple {1283#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {1232#false} is VALID [2019-05-15 10:29:21,343 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:21,343 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:21,343 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:29:21,344 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:21,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:21,344 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:29:21,367 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:29:21,367 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:29:21,367 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:29:21,368 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:21,368 INFO L87 Difference]: Start difference. First operand 26 states and 49 transitions. Second operand 11 states. [2019-05-15 10:29:22,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:22,773 INFO L93 Difference]: Finished difference Result 56 states and 81 transitions. [2019-05-15 10:29:22,773 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:29:22,774 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:22,774 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:22,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:22,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2019-05-15 10:29:22,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:22,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2019-05-15 10:29:22,777 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 80 transitions. [2019-05-15 10:29:22,940 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:22,942 INFO L225 Difference]: With dead ends: 56 [2019-05-15 10:29:22,942 INFO L226 Difference]: Without dead ends: 56 [2019-05-15 10:29:22,943 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:29:22,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2019-05-15 10:29:22,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 29. [2019-05-15 10:29:22,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:22,946 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 29 states. [2019-05-15 10:29:22,946 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 29 states. [2019-05-15 10:29:22,946 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 29 states. [2019-05-15 10:29:22,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:22,948 INFO L93 Difference]: Finished difference Result 56 states and 81 transitions. [2019-05-15 10:29:22,949 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 81 transitions. [2019-05-15 10:29:22,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:22,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:22,950 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 56 states. [2019-05-15 10:29:22,950 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 56 states. [2019-05-15 10:29:22,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:22,952 INFO L93 Difference]: Finished difference Result 56 states and 81 transitions. [2019-05-15 10:29:22,952 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 81 transitions. [2019-05-15 10:29:22,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:22,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:22,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:22,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:22,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:29:22,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 56 transitions. [2019-05-15 10:29:22,955 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 56 transitions. Word has length 15 [2019-05-15 10:29:22,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:22,955 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 56 transitions. [2019-05-15 10:29:22,955 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:29:22,955 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 56 transitions. [2019-05-15 10:29:22,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:29:22,956 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:22,956 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:22,956 INFO L418 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:22,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:22,957 INFO L82 PathProgramCache]: Analyzing trace with hash -663806131, now seen corresponding path program 1 times [2019-05-15 10:29:22,957 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:22,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:22,987 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:29:22,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:23,000 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:23,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:29:23,073 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,086 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:23,087 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,087 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:23,090 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:23,090 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_55| 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:23,090 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:23,135 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,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:29:23,140 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,158 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:23,159 INFO L496 ElimStorePlain]: Start of recursive call 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,159 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:23,162 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:23,162 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_56|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_56| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_56| 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:23,162 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:23,257 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,259 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,262 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,264 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:23,265 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,281 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:23,290 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:23,290 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:23,297 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:23,297 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_57| ULTIMATE.start_main_p3 0) |#memory_int|) (= 0 (select |v_#memory_int_57| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_57| 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:23,297 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:23,375 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,378 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,381 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,382 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,385 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,388 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,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, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:23,397 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,416 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:23,419 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:23,419 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:23,496 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,498 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,499 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,500 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,501 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,503 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,504 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:23,506 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,522 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:23,524 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:23,524 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:23,529 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:23,529 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_59| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_59| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_59| 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:23,529 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:23,649 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,650 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,652 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,653 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,657 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,658 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:23,660 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:23,662 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:23,679 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:23,683 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:23,684 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:29:30,987 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:30,988 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_60|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_60| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_60| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p2)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_60| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_60| 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:30,988 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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:31,021 INFO L273 TraceCheckUtils]: 0: Hoare triple {1493#true} havoc main_p1, main_p2, main_p3, main_p4; {1493#true} is VALID [2019-05-15 10:29:31,022 INFO L273 TraceCheckUtils]: 1: Hoare triple {1493#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1493#true} is VALID [2019-05-15 10:29:31,022 INFO L273 TraceCheckUtils]: 2: Hoare triple {1493#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1493#true} is VALID [2019-05-15 10:29:31,022 INFO L273 TraceCheckUtils]: 3: Hoare triple {1493#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1493#true} is VALID [2019-05-15 10:29:31,023 INFO L273 TraceCheckUtils]: 4: Hoare triple {1493#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {1493#true} is VALID [2019-05-15 10:29:31,023 INFO L273 TraceCheckUtils]: 5: Hoare triple {1493#true} assume main_p1 < main_p2; {1513#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:31,024 INFO L273 TraceCheckUtils]: 6: Hoare triple {1513#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {1517#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:31,025 INFO L273 TraceCheckUtils]: 7: Hoare triple {1517#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {1521#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:31,026 INFO L273 TraceCheckUtils]: 8: Hoare triple {1521#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {1525#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:31,027 INFO L273 TraceCheckUtils]: 9: Hoare triple {1525#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1529#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:31,029 INFO L273 TraceCheckUtils]: 10: Hoare triple {1529#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1533#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:31,031 INFO L273 TraceCheckUtils]: 11: Hoare triple {1533#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := 0]; {1537#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-05-15 10:29:31,034 INFO L273 TraceCheckUtils]: 12: Hoare triple {1537#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-05-15 10:29:31,037 INFO L273 TraceCheckUtils]: 13: Hoare triple {1541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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:31,038 INFO L273 TraceCheckUtils]: 14: Hoare triple {1545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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))))} assume !(#memory_int[main_p1] >= 0); {1494#false} is VALID [2019-05-15 10:29:31,039 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:31,039 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:31,039 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:29:31,040 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:31,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:31,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:29:31,065 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:29:31,065 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:29:31,065 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:29:31,065 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:31,066 INFO L87 Difference]: Start difference. First operand 29 states and 56 transitions. Second operand 11 states. [2019-05-15 10:29:32,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:32,519 INFO L93 Difference]: Finished difference Result 54 states and 79 transitions. [2019-05-15 10:29:32,519 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:29:32,519 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:32,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:32,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:32,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2019-05-15 10:29:32,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:32,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2019-05-15 10:29:32,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2019-05-15 10:29:32,674 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:32,676 INFO L225 Difference]: With dead ends: 54 [2019-05-15 10:29:32,676 INFO L226 Difference]: Without dead ends: 48 [2019-05-15 10:29:32,677 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:29:32,677 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2019-05-15 10:29:32,680 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 29. [2019-05-15 10:29:32,681 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:32,681 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 29 states. [2019-05-15 10:29:32,681 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 29 states. [2019-05-15 10:29:32,681 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 29 states. [2019-05-15 10:29:32,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:32,683 INFO L93 Difference]: Finished difference Result 48 states and 73 transitions. [2019-05-15 10:29:32,683 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 73 transitions. [2019-05-15 10:29:32,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:32,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:32,684 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 48 states. [2019-05-15 10:29:32,684 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 48 states. [2019-05-15 10:29:32,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:32,686 INFO L93 Difference]: Finished difference Result 48 states and 73 transitions. [2019-05-15 10:29:32,686 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 73 transitions. [2019-05-15 10:29:32,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:32,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:32,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:32,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:32,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-05-15 10:29:32,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 54 transitions. [2019-05-15 10:29:32,689 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 54 transitions. Word has length 15 [2019-05-15 10:29:32,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:32,689 INFO L475 AbstractCegarLoop]: Abstraction has 29 states and 54 transitions. [2019-05-15 10:29:32,689 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:29:32,689 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 54 transitions. [2019-05-15 10:29:32,689 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:29:32,689 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:32,690 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:32,690 INFO L418 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:32,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:32,690 INFO L82 PathProgramCache]: Analyzing trace with hash -663802597, now seen corresponding path program 2 times [2019-05-15 10:29:32,691 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:32,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:32,704 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:29:32,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:32,717 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:32,781 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:32,781 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:32,794 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:32,795 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:32,795 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:32,801 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:32,801 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_61|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_61| ULTIMATE.start_main_p1 0) |#memory_int|)) [2019-05-15 10:29:32,802 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:32,833 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,836 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:32,838 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:32,848 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:32,848 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:32,849 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:32,893 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,894 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,895 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,897 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:32,899 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:32,914 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:32,919 INFO L496 ElimStorePlain]: Start of recursive call 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:32,919 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:32,923 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:32,923 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_63| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_63| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_63| 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:32,923 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:32,972 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,973 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,975 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,976 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,977 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,979 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:32,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, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:32,984 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:33,000 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:33,003 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:33,003 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:33,009 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:33,010 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (store |v_#memory_int_64| ULTIMATE.start_main_p4 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_64| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_64| 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:33,010 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:33,085 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,086 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,087 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,089 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,090 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,091 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,093 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:33,096 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:33,111 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:33,114 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:33,115 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:29:33,126 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:33,126 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_65|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_65| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_65| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (select |v_#memory_int_65| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_65| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_65| 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:29:33,126 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:33,185 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,186 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,187 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,189 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,190 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,191 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:33,193 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 37 [2019-05-15 10:29:33,197 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:33,213 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:33,219 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:33,220 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-05-15 10:29:33,225 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:33,225 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_66|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_66| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_66| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_66| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_66| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_66| 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:29:33,225 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:33,278 INFO L273 TraceCheckUtils]: 0: Hoare triple {1737#true} havoc main_p1, main_p2, main_p3, main_p4; {1737#true} is VALID [2019-05-15 10:29:33,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {1737#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1737#true} is VALID [2019-05-15 10:29:33,278 INFO L273 TraceCheckUtils]: 2: Hoare triple {1737#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1737#true} is VALID [2019-05-15 10:29:33,278 INFO L273 TraceCheckUtils]: 3: Hoare triple {1737#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1737#true} is VALID [2019-05-15 10:29:33,279 INFO L273 TraceCheckUtils]: 4: Hoare triple {1737#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {1737#true} is VALID [2019-05-15 10:29:33,279 INFO L273 TraceCheckUtils]: 5: Hoare triple {1737#true} assume main_p1 < main_p2; {1757#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:33,285 INFO L273 TraceCheckUtils]: 6: Hoare triple {1757#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {1761#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:33,285 INFO L273 TraceCheckUtils]: 7: Hoare triple {1761#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {1765#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:33,286 INFO L273 TraceCheckUtils]: 8: Hoare triple {1765#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {1769#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:33,287 INFO L273 TraceCheckUtils]: 9: Hoare triple {1769#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1773#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:33,288 INFO L273 TraceCheckUtils]: 10: Hoare triple {1773#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {1777#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:33,290 INFO L273 TraceCheckUtils]: 11: Hoare triple {1777#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {1781#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:33,292 INFO L273 TraceCheckUtils]: 12: Hoare triple {1781#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1785#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:33,296 INFO L273 TraceCheckUtils]: 13: Hoare triple {1785#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1789#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:29:33,297 INFO L273 TraceCheckUtils]: 14: Hoare triple {1789#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {1738#false} is VALID [2019-05-15 10:29:33,298 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:33,299 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:33,299 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:29:33,299 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:33,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:33,299 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:29:33,322 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:29:33,322 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:29:33,322 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:29:33,323 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:33,323 INFO L87 Difference]: Start difference. First operand 29 states and 54 transitions. Second operand 11 states. [2019-05-15 10:29:34,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:34,712 INFO L93 Difference]: Finished difference Result 55 states and 83 transitions. [2019-05-15 10:29:34,713 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:29:34,713 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:34,713 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:34,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:34,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2019-05-15 10:29:34,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:34,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2019-05-15 10:29:34,717 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 75 transitions. [2019-05-15 10:29:34,880 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:34,881 INFO L225 Difference]: With dead ends: 55 [2019-05-15 10:29:34,881 INFO L226 Difference]: Without dead ends: 55 [2019-05-15 10:29:34,882 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2019-05-15 10:29:34,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-05-15 10:29:34,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2019-05-15 10:29:34,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:34,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2019-05-15 10:29:34,886 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2019-05-15 10:29:34,886 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2019-05-15 10:29:34,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:34,888 INFO L93 Difference]: Finished difference Result 55 states and 83 transitions. [2019-05-15 10:29:34,888 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 83 transitions. [2019-05-15 10:29:34,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:34,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:34,889 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2019-05-15 10:29:34,889 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2019-05-15 10:29:34,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:34,891 INFO L93 Difference]: Finished difference Result 55 states and 83 transitions. [2019-05-15 10:29:34,891 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 83 transitions. [2019-05-15 10:29:34,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:34,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:34,892 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:34,892 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:34,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:29:34,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 59 transitions. [2019-05-15 10:29:34,894 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 59 transitions. Word has length 15 [2019-05-15 10:29:34,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:34,894 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 59 transitions. [2019-05-15 10:29:34,894 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:29:34,894 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 59 transitions. [2019-05-15 10:29:34,894 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:29:34,895 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:34,895 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:34,895 INFO L418 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:34,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:34,895 INFO L82 PathProgramCache]: Analyzing trace with hash -663802161, now seen corresponding path program 1 times [2019-05-15 10:29:34,896 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:34,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:34,909 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 7 conjunts are in the unsatisfiable core [2019-05-15 10:29:34,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:34,919 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:34,973 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:34,973 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:34,980 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:34,981 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:34,981 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2019-05-15 10:29:34,989 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:34,989 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_67|]. (and (= |#memory_int| (store |v_#memory_int_67| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:34,989 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:35,017 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:35,018 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:35,019 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:35,029 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:35,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:29:35,031 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2019-05-15 10:29:35,034 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:35,034 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_68| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_68| ULTIMATE.start_main_p3 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:35,035 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:29:35,076 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:35,077 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:35,078 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:35,079 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:35,081 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:35,091 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:35,094 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:35,094 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:23, output treesize:22 [2019-05-15 10:29:35,100 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:35,100 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_69| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_69| ULTIMATE.start_main_p4 0) |#memory_int|) (= (select |v_#memory_int_69| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:35,100 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:35,138 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:35,140 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:35,147 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:35,148 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select 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:35,151 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:35,161 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:35,164 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:35,164 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:24 [2019-05-15 10:29:35,170 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:35,170 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_70| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_70| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-05-15 10:29:35,170 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-05-15 10:29:35,207 INFO L273 TraceCheckUtils]: 0: Hoare triple {1995#true} havoc main_p1, main_p2, main_p3, main_p4; {1995#true} is VALID [2019-05-15 10:29:35,207 INFO L273 TraceCheckUtils]: 1: Hoare triple {1995#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {1995#true} is VALID [2019-05-15 10:29:35,208 INFO L273 TraceCheckUtils]: 2: Hoare triple {1995#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {1995#true} is VALID [2019-05-15 10:29:35,208 INFO L273 TraceCheckUtils]: 3: Hoare triple {1995#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {1995#true} is VALID [2019-05-15 10:29:35,208 INFO L273 TraceCheckUtils]: 4: Hoare triple {1995#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {1995#true} is VALID [2019-05-15 10:29:35,209 INFO L273 TraceCheckUtils]: 5: Hoare triple {1995#true} assume main_p1 < main_p2; {1995#true} is VALID [2019-05-15 10:29:35,223 INFO L273 TraceCheckUtils]: 6: Hoare triple {1995#true} assume main_p2 < main_p3; {2018#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} is VALID [2019-05-15 10:29:35,223 INFO L273 TraceCheckUtils]: 7: Hoare triple {2018#(< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)} assume main_p3 < main_p4; {2022#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:35,224 INFO L273 TraceCheckUtils]: 8: Hoare triple {2022#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := 0]; {2022#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:35,225 INFO L273 TraceCheckUtils]: 9: Hoare triple {2022#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := 0]; {2029#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-05-15 10:29:35,226 INFO L273 TraceCheckUtils]: 10: Hoare triple {2029#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := 0]; {2033#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:29:35,227 INFO L273 TraceCheckUtils]: 11: Hoare triple {2033#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {2037#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-05-15 10:29:35,231 INFO L273 TraceCheckUtils]: 12: Hoare triple {2037#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2041#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-05-15 10:29:35,232 INFO L273 TraceCheckUtils]: 13: Hoare triple {2041#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {2041#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-05-15 10:29:35,233 INFO L273 TraceCheckUtils]: 14: Hoare triple {2041#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {1996#false} is VALID [2019-05-15 10:29:35,234 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:29:35,234 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:35,234 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2019-05-15 10:29:35,234 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 15 [2019-05-15 10:29:35,235 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:35,235 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-05-15 10:29:35,262 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:29:35,263 INFO L454 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-05-15 10:29:35,263 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-05-15 10:29:35,263 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2019-05-15 10:29:35,263 INFO L87 Difference]: Start difference. First operand 30 states and 59 transitions. Second operand 8 states. [2019-05-15 10:29:36,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:36,318 INFO L93 Difference]: Finished difference Result 41 states and 67 transitions. [2019-05-15 10:29:36,318 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-05-15 10:29:36,319 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 15 [2019-05-15 10:29:36,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:36,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:29:36,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 54 transitions. [2019-05-15 10:29:36,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-05-15 10:29:36,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 54 transitions. [2019-05-15 10:29:36,321 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 54 transitions. [2019-05-15 10:29:36,408 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:29:36,409 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:29:36,410 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:29:36,410 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:36,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:29:36,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 30. [2019-05-15 10:29:36,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:36,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 30 states. [2019-05-15 10:29:36,413 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 30 states. [2019-05-15 10:29:36,413 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 30 states. [2019-05-15 10:29:36,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:36,415 INFO L93 Difference]: Finished difference Result 41 states and 67 transitions. [2019-05-15 10:29:36,415 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 67 transitions. [2019-05-15 10:29:36,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:36,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:36,415 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 41 states. [2019-05-15 10:29:36,416 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 41 states. [2019-05-15 10:29:36,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:36,417 INFO L93 Difference]: Finished difference Result 41 states and 67 transitions. [2019-05-15 10:29:36,417 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 67 transitions. [2019-05-15 10:29:36,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:36,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:36,418 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:36,418 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:36,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-05-15 10:29:36,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 59 transitions. [2019-05-15 10:29:36,419 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 59 transitions. Word has length 15 [2019-05-15 10:29:36,419 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:36,419 INFO L475 AbstractCegarLoop]: Abstraction has 30 states and 59 transitions. [2019-05-15 10:29:36,419 INFO L476 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-05-15 10:29:36,420 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 59 transitions. [2019-05-15 10:29:36,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:29:36,420 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:36,420 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:36,420 INFO L418 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:36,421 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:36,421 INFO L82 PathProgramCache]: Analyzing trace with hash -663798753, now seen corresponding path program 2 times [2019-05-15 10:29:36,422 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:36,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:36,433 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:29:36,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:36,460 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:36,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:29:36,533 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:36,543 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:36,543 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:36,543 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:36,547 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:36,547 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_71|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_71| 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:36,547 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:36,587 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,588 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:36,590 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:36,602 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:36,603 INFO L496 ElimStorePlain]: Start of recursive call 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:36,603 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:36,606 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:36,606 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_72| 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:36,607 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:36,665 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,667 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,668 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,669 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:36,671 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:36,683 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:36,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:29:36,684 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:36,732 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,734 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,735 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,737 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,738 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,739 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,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, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:36,744 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:36,759 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:36,761 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:36,761 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:36,768 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:36,769 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_74| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_74| ULTIMATE.start_main_p4 0) |#memory_int|) (= (select |v_#memory_int_74| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_74| 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:36,769 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:36,846 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,847 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,849 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,850 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,852 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,853 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,854 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:36,856 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:36,872 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:36,875 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:36,875 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:36,897 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:36,898 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_75|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_75| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_75| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_75| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_75| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_75| 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:36,898 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:36,951 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,952 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,954 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,955 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,956 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,957 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:36,959 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:36,966 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:36,981 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:36,984 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:36,984 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:36,995 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:36,996 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_76|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_76| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p2)) (= 1 (select |v_#memory_int_76| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_76| 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:29:36,996 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4) 0)) [2019-05-15 10:29:37,024 INFO L273 TraceCheckUtils]: 0: Hoare triple {2206#true} havoc main_p1, main_p2, main_p3, main_p4; {2206#true} is VALID [2019-05-15 10:29:37,024 INFO L273 TraceCheckUtils]: 1: Hoare triple {2206#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2206#true} is VALID [2019-05-15 10:29:37,024 INFO L273 TraceCheckUtils]: 2: Hoare triple {2206#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2206#true} is VALID [2019-05-15 10:29:37,025 INFO L273 TraceCheckUtils]: 3: Hoare triple {2206#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2206#true} is VALID [2019-05-15 10:29:37,025 INFO L273 TraceCheckUtils]: 4: Hoare triple {2206#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {2206#true} is VALID [2019-05-15 10:29:37,025 INFO L273 TraceCheckUtils]: 5: Hoare triple {2206#true} assume main_p1 < main_p2; {2226#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:37,026 INFO L273 TraceCheckUtils]: 6: Hoare triple {2226#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {2230#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:37,026 INFO L273 TraceCheckUtils]: 7: Hoare triple {2230#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {2234#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:37,027 INFO L273 TraceCheckUtils]: 8: Hoare triple {2234#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {2238#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:37,028 INFO L273 TraceCheckUtils]: 9: Hoare triple {2238#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {2242#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:37,029 INFO L273 TraceCheckUtils]: 10: Hoare triple {2242#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {2246#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:37,031 INFO L273 TraceCheckUtils]: 11: Hoare triple {2246#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {2250#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:37,034 INFO L273 TraceCheckUtils]: 12: Hoare triple {2250#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {2254#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-05-15 10:29:37,037 INFO L273 TraceCheckUtils]: 13: Hoare triple {2254#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< 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]; {2258#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-05-15 10:29:37,038 INFO L273 TraceCheckUtils]: 14: Hoare triple {2258#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {2207#false} is VALID [2019-05-15 10:29:37,039 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:37,039 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:37,039 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:29:37,039 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:37,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:37,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:29:37,063 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:29:37,064 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:29:37,064 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:29:37,064 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:37,064 INFO L87 Difference]: Start difference. First operand 30 states and 59 transitions. Second operand 11 states. [2019-05-15 10:29:38,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:38,333 INFO L93 Difference]: Finished difference Result 56 states and 88 transitions. [2019-05-15 10:29:38,333 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:29:38,333 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:38,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:38,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:38,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2019-05-15 10:29:38,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:38,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2019-05-15 10:29:38,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 74 transitions. [2019-05-15 10:29:38,527 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:38,528 INFO L225 Difference]: With dead ends: 56 [2019-05-15 10:29:38,528 INFO L226 Difference]: Without dead ends: 56 [2019-05-15 10:29:38,528 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=68, Invalid=172, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:29:38,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2019-05-15 10:29:38,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 31. [2019-05-15 10:29:38,534 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:38,534 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 31 states. [2019-05-15 10:29:38,534 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 31 states. [2019-05-15 10:29:38,534 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 31 states. [2019-05-15 10:29:38,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:38,536 INFO L93 Difference]: Finished difference Result 56 states and 88 transitions. [2019-05-15 10:29:38,536 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 88 transitions. [2019-05-15 10:29:38,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:38,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:38,537 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 56 states. [2019-05-15 10:29:38,537 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 56 states. [2019-05-15 10:29:38,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:38,538 INFO L93 Difference]: Finished difference Result 56 states and 88 transitions. [2019-05-15 10:29:38,539 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 88 transitions. [2019-05-15 10:29:38,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:38,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:38,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:38,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:38,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-05-15 10:29:38,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 64 transitions. [2019-05-15 10:29:38,540 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 64 transitions. Word has length 15 [2019-05-15 10:29:38,541 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:38,541 INFO L475 AbstractCegarLoop]: Abstraction has 31 states and 64 transitions. [2019-05-15 10:29:38,541 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:29:38,541 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 64 transitions. [2019-05-15 10:29:38,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:29:38,541 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:38,541 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:38,542 INFO L418 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:38,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:38,543 INFO L82 PathProgramCache]: Analyzing trace with hash -663796831, now seen corresponding path program 2 times [2019-05-15 10:29:38,543 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:38,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:38,568 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 10 conjunts are in the unsatisfiable core [2019-05-15 10:29:38,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:38,587 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:38,678 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:38,679 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:38,696 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:38,696 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:38,696 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:38,698 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:38,698 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_77|]. (and (= (store |v_#memory_int_77| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:38,699 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:38,745 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,747 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:38,748 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:38,764 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:38,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:29:38,765 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:38,767 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:38,768 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p2]. (and (= |#memory_int| (store |v_#memory_int_78| ULTIMATE.start_main_p2 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:38,768 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:38,809 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,811 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,812 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,813 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:38,815 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:38,829 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:38,830 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:38,831 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:38,838 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:38,838 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_79| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_79| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_79| 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:38,838 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:38,876 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,878 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,879 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,880 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,881 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,883 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,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, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:38,887 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:38,903 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:38,905 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:38,905 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:38,960 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,963 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,964 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,964 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,965 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,966 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:38,967 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:38,970 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:38,986 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:38,988 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:38,989 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:29:39,024 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:39,024 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_81|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_81| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_81| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_81| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_81| 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_81| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2019-05-15 10:29:39,025 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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:39,089 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:39,090 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:39,091 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:39,093 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:39,094 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:39,095 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:39,096 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 37 [2019-05-15 10:29:39,101 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:39,117 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:39,119 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:39,119 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-05-15 10:29:39,131 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:39,131 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_82| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_82| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_82| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_82| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (store |v_#memory_int_82| 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:29:39,131 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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:39,466 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4; {2470#true} is VALID [2019-05-15 10:29:39,466 INFO L273 TraceCheckUtils]: 1: Hoare triple {2470#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2470#true} is VALID [2019-05-15 10:29:39,466 INFO L273 TraceCheckUtils]: 2: Hoare triple {2470#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2470#true} is VALID [2019-05-15 10:29:39,466 INFO L273 TraceCheckUtils]: 3: Hoare triple {2470#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2470#true} is VALID [2019-05-15 10:29:39,466 INFO L273 TraceCheckUtils]: 4: Hoare triple {2470#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {2470#true} is VALID [2019-05-15 10:29:39,467 INFO L273 TraceCheckUtils]: 5: Hoare triple {2470#true} assume main_p1 < main_p2; {2490#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:39,468 INFO L273 TraceCheckUtils]: 6: Hoare triple {2490#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {2494#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:39,468 INFO L273 TraceCheckUtils]: 7: Hoare triple {2494#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {2498#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:39,469 INFO L273 TraceCheckUtils]: 8: Hoare triple {2498#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {2502#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:39,470 INFO L273 TraceCheckUtils]: 9: Hoare triple {2502#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {2506#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:39,471 INFO L273 TraceCheckUtils]: 10: Hoare triple {2506#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {2510#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:39,473 INFO L273 TraceCheckUtils]: 11: Hoare triple {2510#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := 0]; {2514#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-05-15 10:29:39,476 INFO L273 TraceCheckUtils]: 12: Hoare triple {2514#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {2518#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-05-15 10:29:39,479 INFO L273 TraceCheckUtils]: 13: Hoare triple {2518#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2522#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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:39,480 INFO L273 TraceCheckUtils]: 14: Hoare triple {2522#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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))))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2019-05-15 10:29:39,481 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:39,481 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:39,482 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2019-05-15 10:29:39,482 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:39,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:39,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-05-15 10:29:39,520 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:29:39,520 INFO L454 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-05-15 10:29:39,520 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-05-15 10:29:39,520 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2019-05-15 10:29:39,520 INFO L87 Difference]: Start difference. First operand 31 states and 64 transitions. Second operand 11 states. [2019-05-15 10:29:40,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:40,995 INFO L93 Difference]: Finished difference Result 56 states and 92 transitions. [2019-05-15 10:29:40,995 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-05-15 10:29:40,995 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 15 [2019-05-15 10:29:40,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:40,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:40,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2019-05-15 10:29:40,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-05-15 10:29:40,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2019-05-15 10:29:40,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2019-05-15 10:29:41,215 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:41,216 INFO L225 Difference]: With dead ends: 56 [2019-05-15 10:29:41,216 INFO L226 Difference]: Without dead ends: 56 [2019-05-15 10:29:41,217 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=70, Invalid=170, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:29:41,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2019-05-15 10:29:41,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 32. [2019-05-15 10:29:41,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:41,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 32 states. [2019-05-15 10:29:41,221 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 32 states. [2019-05-15 10:29:41,221 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 32 states. [2019-05-15 10:29:41,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:41,227 INFO L93 Difference]: Finished difference Result 56 states and 92 transitions. [2019-05-15 10:29:41,227 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 92 transitions. [2019-05-15 10:29:41,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:41,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:41,228 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 56 states. [2019-05-15 10:29:41,228 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 56 states. [2019-05-15 10:29:41,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:41,230 INFO L93 Difference]: Finished difference Result 56 states and 92 transitions. [2019-05-15 10:29:41,230 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 92 transitions. [2019-05-15 10:29:41,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:41,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:41,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:41,230 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:41,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-05-15 10:29:41,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 69 transitions. [2019-05-15 10:29:41,232 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 69 transitions. Word has length 15 [2019-05-15 10:29:41,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:41,232 INFO L475 AbstractCegarLoop]: Abstraction has 32 states and 69 transitions. [2019-05-15 10:29:41,232 INFO L476 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-05-15 10:29:41,232 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 69 transitions. [2019-05-15 10:29:41,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:29:41,233 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:41,233 INFO L399 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:41,233 INFO L418 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:41,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:41,233 INFO L82 PathProgramCache]: Analyzing trace with hash 896836436, now seen corresponding path program 3 times [2019-05-15 10:29:41,234 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:41,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:41,255 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:29:41,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:41,263 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:41,325 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:41,325 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,336 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,337 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,337 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:41,345 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,345 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_83| 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:41,346 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:41,387 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,388 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:41,390 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,403 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,404 INFO L496 ElimStorePlain]: Start of recursive call 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,404 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:41,407 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,407 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p2 0)) (= (select |v_#memory_int_84| 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:41,408 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:41,458 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,459 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,460 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,460 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:41,461 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,474 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,476 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,476 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:41,485 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,485 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |v_#memory_int_85| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_85| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_85| 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:41,485 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:41,525 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,526 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,528 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,529 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,530 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,531 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,533 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:41,535 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,549 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,552 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:41,552 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:41,559 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,559 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_86|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_86| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_86| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_86| ULTIMATE.start_main_p4 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_86| ULTIMATE.start_main_p1) 0)) [2019-05-15 10:29:41,559 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:41,612 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,613 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,615 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,616 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,617 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,618 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,620 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:41,622 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,636 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,639 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:41,639 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:41,645 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,646 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_87| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_87| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_87| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_87| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_87| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:41,646 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:41,750 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,751 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,752 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,752 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,753 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,754 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,756 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:41,759 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,772 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,774 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:41,774 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:41,783 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,783 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_88| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_88| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_88| ULTIMATE.start_main_p3) 0) (= .cse0 1) (= (store |v_#memory_int_88| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_88| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:41,784 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:41,842 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,843 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,845 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,846 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,847 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,860 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:41,861 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:41,864 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:41,878 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:41,931 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:41,932 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:41,946 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:41,947 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_89|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_89| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_89| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 2) (= (select |v_#memory_int_89| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_89| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_89| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:41,947 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:42,213 INFO L273 TraceCheckUtils]: 0: Hoare triple {2735#true} havoc main_p1, main_p2, main_p3, main_p4; {2735#true} is VALID [2019-05-15 10:29:42,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {2735#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {2735#true} is VALID [2019-05-15 10:29:42,213 INFO L273 TraceCheckUtils]: 2: Hoare triple {2735#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {2735#true} is VALID [2019-05-15 10:29:42,214 INFO L273 TraceCheckUtils]: 3: Hoare triple {2735#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {2735#true} is VALID [2019-05-15 10:29:42,214 INFO L273 TraceCheckUtils]: 4: Hoare triple {2735#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {2735#true} is VALID [2019-05-15 10:29:42,214 INFO L273 TraceCheckUtils]: 5: Hoare triple {2735#true} assume main_p1 < main_p2; {2755#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:42,215 INFO L273 TraceCheckUtils]: 6: Hoare triple {2755#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {2759#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:42,216 INFO L273 TraceCheckUtils]: 7: Hoare triple {2759#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {2763#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:42,216 INFO L273 TraceCheckUtils]: 8: Hoare triple {2763#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {2767#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:42,217 INFO L273 TraceCheckUtils]: 9: Hoare triple {2767#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {2771#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:42,219 INFO L273 TraceCheckUtils]: 10: Hoare triple {2771#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {2775#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:42,222 INFO L273 TraceCheckUtils]: 11: Hoare triple {2775#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := 0]; {2779#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:42,225 INFO L273 TraceCheckUtils]: 12: Hoare triple {2779#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2783#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:42,228 INFO L273 TraceCheckUtils]: 13: Hoare triple {2783#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2787#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:42,247 INFO L273 TraceCheckUtils]: 14: Hoare triple {2787#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2791#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:29:42,258 INFO L273 TraceCheckUtils]: 15: Hoare triple {2791#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 3) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {2736#false} is VALID [2019-05-15 10:29:42,260 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:42,260 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:42,260 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:29:42,260 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:29:42,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:42,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:29:42,286 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:42,287 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:29:42,287 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:29:42,287 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:29:42,287 INFO L87 Difference]: Start difference. First operand 32 states and 69 transitions. Second operand 12 states. [2019-05-15 10:29:44,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:44,719 INFO L93 Difference]: Finished difference Result 59 states and 99 transitions. [2019-05-15 10:29:44,719 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:29:44,719 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:29:44,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:44,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:29:44,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:29:44,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:29:44,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:29:44,721 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2019-05-15 10:29:44,879 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:44,881 INFO L225 Difference]: With dead ends: 59 [2019-05-15 10:29:44,881 INFO L226 Difference]: Without dead ends: 59 [2019-05-15 10:29:44,882 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=72, Invalid=234, Unknown=0, NotChecked=0, Total=306 [2019-05-15 10:29:44,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2019-05-15 10:29:44,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 33. [2019-05-15 10:29:44,884 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:44,884 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 33 states. [2019-05-15 10:29:44,884 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 33 states. [2019-05-15 10:29:44,885 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 33 states. [2019-05-15 10:29:44,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:44,886 INFO L93 Difference]: Finished difference Result 59 states and 99 transitions. [2019-05-15 10:29:44,886 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 99 transitions. [2019-05-15 10:29:44,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:44,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:44,887 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 59 states. [2019-05-15 10:29:44,887 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 59 states. [2019-05-15 10:29:44,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:44,888 INFO L93 Difference]: Finished difference Result 59 states and 99 transitions. [2019-05-15 10:29:44,888 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 99 transitions. [2019-05-15 10:29:44,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:44,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:44,889 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:44,889 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:44,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2019-05-15 10:29:44,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 74 transitions. [2019-05-15 10:29:44,890 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 74 transitions. Word has length 16 [2019-05-15 10:29:44,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:44,890 INFO L475 AbstractCegarLoop]: Abstraction has 33 states and 74 transitions. [2019-05-15 10:29:44,890 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:29:44,891 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 74 transitions. [2019-05-15 10:29:44,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:29:44,891 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:44,891 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:44,891 INFO L418 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:44,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:44,892 INFO L82 PathProgramCache]: Analyzing trace with hash 896836560, now seen corresponding path program 3 times [2019-05-15 10:29:44,892 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:44,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:44,903 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:29:44,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:44,930 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:45,001 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:45,002 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,011 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:45,012 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,012 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:45,015 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:45,015 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_90| 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:45,015 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:45,048 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,049 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:45,050 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,062 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:45,062 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,063 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:45,109 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,110 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,111 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,112 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:45,114 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,127 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:45,128 INFO L496 ElimStorePlain]: Start of recursive call 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:45,129 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:45,134 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:45,134 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_92| ULTIMATE.start_main_p3 0)) (= (select |v_#memory_int_92| 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_92| ULTIMATE.start_main_p2) 0)) [2019-05-15 10:29:45,134 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:45,175 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,176 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,178 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,179 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,180 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,181 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,183 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:45,185 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,198 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:45,201 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:45,201 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:45,206 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:45,207 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_93|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (select |v_#memory_int_93| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_93| ULTIMATE.start_main_p4 0)) (= 0 (select |v_#memory_int_93| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_93| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:45,207 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:45,259 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,259 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,260 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,262 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,263 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,264 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,265 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:45,268 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,284 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:45,286 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:45,286 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:45,290 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:45,290 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_94|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_94| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_94| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_94| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_94| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_94| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:29:45,290 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:45,356 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,358 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,359 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,360 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,362 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,363 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,364 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:45,367 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,381 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:45,384 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:45,384 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:45,391 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:45,392 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_95| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_95| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_95| ULTIMATE.start_main_p2)) (= 1 .cse0) (= (store |v_#memory_int_95| 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_95| ULTIMATE.start_main_p4)))) [2019-05-15 10:29:45,392 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:45,445 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,446 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,448 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,449 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,450 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,452 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:45,453 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:45,456 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:45,472 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:45,474 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:45,474 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:29:45,486 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:45,486 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p2))) (and (= 2 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_96| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_96| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_96| 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:45,486 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:29:45,520 INFO L273 TraceCheckUtils]: 0: Hoare triple {3016#true} havoc main_p1, main_p2, main_p3, main_p4; {3016#true} is VALID [2019-05-15 10:29:45,521 INFO L273 TraceCheckUtils]: 1: Hoare triple {3016#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3016#true} is VALID [2019-05-15 10:29:45,521 INFO L273 TraceCheckUtils]: 2: Hoare triple {3016#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3016#true} is VALID [2019-05-15 10:29:45,522 INFO L273 TraceCheckUtils]: 3: Hoare triple {3016#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3016#true} is VALID [2019-05-15 10:29:45,522 INFO L273 TraceCheckUtils]: 4: Hoare triple {3016#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {3016#true} is VALID [2019-05-15 10:29:45,523 INFO L273 TraceCheckUtils]: 5: Hoare triple {3016#true} assume main_p1 < main_p2; {3036#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:29:45,523 INFO L273 TraceCheckUtils]: 6: Hoare triple {3036#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3040#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:45,524 INFO L273 TraceCheckUtils]: 7: Hoare triple {3040#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {3044#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:45,525 INFO L273 TraceCheckUtils]: 8: Hoare triple {3044#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3048#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:45,526 INFO L273 TraceCheckUtils]: 9: Hoare triple {3048#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3052#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:45,527 INFO L273 TraceCheckUtils]: 10: Hoare triple {3052#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3056#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:45,529 INFO L273 TraceCheckUtils]: 11: Hoare triple {3056#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {3060#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:45,532 INFO L273 TraceCheckUtils]: 12: Hoare triple {3060#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3064#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:45,534 INFO L273 TraceCheckUtils]: 13: Hoare triple {3064#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3068#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:29:45,537 INFO L273 TraceCheckUtils]: 14: Hoare triple {3068#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3072#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:29:45,539 INFO L273 TraceCheckUtils]: 15: Hoare triple {3072#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {3017#false} is VALID [2019-05-15 10:29:45,541 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,541 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:29:45,541 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:29:45,541 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:29:45,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:29:45,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:29:45,565 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:45,565 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:29:45,565 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:29:45,566 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:29:45,566 INFO L87 Difference]: Start difference. First operand 33 states and 74 transitions. Second operand 12 states. [2019-05-15 10:29:47,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:47,266 INFO L93 Difference]: Finished difference Result 58 states and 98 transitions. [2019-05-15 10:29:47,266 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:29:47,266 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:29:47,266 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:29:47,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:29:47,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:29:47,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:29:47,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:29:47,269 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2019-05-15 10:29:47,454 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:29:47,455 INFO L225 Difference]: With dead ends: 58 [2019-05-15 10:29:47,455 INFO L226 Difference]: Without dead ends: 58 [2019-05-15 10:29:47,456 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=201, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:29:47,456 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2019-05-15 10:29:47,458 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 33. [2019-05-15 10:29:47,458 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:29:47,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 33 states. [2019-05-15 10:29:47,458 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 33 states. [2019-05-15 10:29:47,458 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 33 states. [2019-05-15 10:29:47,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:47,460 INFO L93 Difference]: Finished difference Result 58 states and 98 transitions. [2019-05-15 10:29:47,460 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 98 transitions. [2019-05-15 10:29:47,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:47,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:47,460 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 58 states. [2019-05-15 10:29:47,461 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 58 states. [2019-05-15 10:29:47,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:29:47,462 INFO L93 Difference]: Finished difference Result 58 states and 98 transitions. [2019-05-15 10:29:47,462 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 98 transitions. [2019-05-15 10:29:47,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:29:47,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:29:47,463 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:29:47,463 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:29:47,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2019-05-15 10:29:47,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 74 transitions. [2019-05-15 10:29:47,464 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 74 transitions. Word has length 16 [2019-05-15 10:29:47,464 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:29:47,464 INFO L475 AbstractCegarLoop]: Abstraction has 33 states and 74 transitions. [2019-05-15 10:29:47,464 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:29:47,465 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 74 transitions. [2019-05-15 10:29:47,465 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:29:47,465 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:29:47,465 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:29:47,465 INFO L418 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:29:47,466 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:29:47,466 INFO L82 PathProgramCache]: Analyzing trace with hash 896836684, now seen corresponding path program 3 times [2019-05-15 10:29:47,467 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:29:47,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:47,477 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:29:47,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:29:47,499 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:29:48,078 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,079 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,088 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,088 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,088 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:29:48,091 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:48,091 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_97| 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,091 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,120 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,121 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,122 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,132 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,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:29:48,133 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:29:48,136 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:48,136 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_98| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_98| 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:48,136 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:48,170 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,171 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,172 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,173 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,174 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,186 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,187 INFO L496 ElimStorePlain]: Start of recursive call 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:48,187 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:29:48,233 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,235 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,236 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,237 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,264 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,265 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,266 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:29:48,268 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,282 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,284 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:48,284 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:29:48,295 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:48,295 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_100| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_100| ULTIMATE.start_main_p4 0) |#memory_int|) (= (select |v_#memory_int_100| 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_100| ULTIMATE.start_main_p3) 0)) [2019-05-15 10:29:48,295 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:48,388 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,390 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,391 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,392 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,393 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,395 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,396 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:48,399 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,415 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,423 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:48,423 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:48,427 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:48,428 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_101| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p4)) (= 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:48,428 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:48,481 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,482 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,483 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,502 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,503 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,503 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,504 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:48,506 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,522 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,524 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:48,525 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:29:48,532 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:29:48,532 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_102|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_102| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_102| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 .cse0) (= |#memory_int| (store |v_#memory_int_102| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_102| ULTIMATE.start_main_p2)) (= 0 (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:48,533 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:29:48,588 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,589 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,591 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,592 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,593 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,594 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:29:48,595 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:29:48,600 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:29:48,615 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:29:48,616 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:29:48,617 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:00,631 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:00,631 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_103|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_103| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 2 (select |v_#memory_int_103| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_103| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_103| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_103| 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:30:00,631 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:00,681 INFO L273 TraceCheckUtils]: 0: Hoare triple {3292#true} havoc main_p1, main_p2, main_p3, main_p4; {3292#true} is VALID [2019-05-15 10:30:00,681 INFO L273 TraceCheckUtils]: 1: Hoare triple {3292#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3292#true} is VALID [2019-05-15 10:30:00,682 INFO L273 TraceCheckUtils]: 2: Hoare triple {3292#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3292#true} is VALID [2019-05-15 10:30:00,682 INFO L273 TraceCheckUtils]: 3: Hoare triple {3292#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3292#true} is VALID [2019-05-15 10:30:00,682 INFO L273 TraceCheckUtils]: 4: Hoare triple {3292#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {3292#true} is VALID [2019-05-15 10:30:00,683 INFO L273 TraceCheckUtils]: 5: Hoare triple {3292#true} assume main_p1 < main_p2; {3312#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:00,683 INFO L273 TraceCheckUtils]: 6: Hoare triple {3312#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3316#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:00,684 INFO L273 TraceCheckUtils]: 7: Hoare triple {3316#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {3320#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:00,684 INFO L273 TraceCheckUtils]: 8: Hoare triple {3320#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3324#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:00,685 INFO L273 TraceCheckUtils]: 9: Hoare triple {3324#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3328#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:00,687 INFO L273 TraceCheckUtils]: 10: Hoare triple {3328#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3332#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:00,689 INFO L273 TraceCheckUtils]: 11: Hoare triple {3332#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {3336#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:00,697 INFO L273 TraceCheckUtils]: 12: Hoare triple {3336#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {3340#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:00,699 INFO L273 TraceCheckUtils]: 13: Hoare triple {3340#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {3344#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:00,701 INFO L273 TraceCheckUtils]: 14: Hoare triple {3344#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {3348#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:30:00,701 INFO L273 TraceCheckUtils]: 15: Hoare triple {3348#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {3293#false} is VALID [2019-05-15 10:30:00,702 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:00,703 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:00,703 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:00,703 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:00,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:00,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:00,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:00,725 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:00,726 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:00,726 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:00,726 INFO L87 Difference]: Start difference. First operand 33 states and 74 transitions. Second operand 12 states. [2019-05-15 10:30:02,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:02,471 INFO L93 Difference]: Finished difference Result 57 states and 97 transitions. [2019-05-15 10:30:02,471 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:02,472 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:02,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:02,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:02,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2019-05-15 10:30:02,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:02,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2019-05-15 10:30:02,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 78 transitions. [2019-05-15 10:30:02,614 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:02,615 INFO L225 Difference]: With dead ends: 57 [2019-05-15 10:30:02,615 INFO L226 Difference]: Without dead ends: 57 [2019-05-15 10:30:02,616 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=73, Invalid=233, Unknown=0, NotChecked=0, Total=306 [2019-05-15 10:30:02,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2019-05-15 10:30:02,618 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 33. [2019-05-15 10:30:02,619 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:02,619 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 33 states. [2019-05-15 10:30:02,619 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 33 states. [2019-05-15 10:30:02,619 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 33 states. [2019-05-15 10:30:02,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:02,623 INFO L93 Difference]: Finished difference Result 57 states and 97 transitions. [2019-05-15 10:30:02,623 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 97 transitions. [2019-05-15 10:30:02,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:02,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:02,624 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 57 states. [2019-05-15 10:30:02,624 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 57 states. [2019-05-15 10:30:02,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:02,625 INFO L93 Difference]: Finished difference Result 57 states and 97 transitions. [2019-05-15 10:30:02,626 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 97 transitions. [2019-05-15 10:30:02,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:02,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:02,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:02,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:02,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2019-05-15 10:30:02,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 74 transitions. [2019-05-15 10:30:02,628 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 74 transitions. Word has length 16 [2019-05-15 10:30:02,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:02,628 INFO L475 AbstractCegarLoop]: Abstraction has 33 states and 74 transitions. [2019-05-15 10:30:02,629 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:02,629 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 74 transitions. [2019-05-15 10:30:02,629 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:02,629 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:02,629 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:02,629 INFO L418 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:02,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:02,630 INFO L82 PathProgramCache]: Analyzing trace with hash 896836746, now seen corresponding path program 3 times [2019-05-15 10:30:02,631 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:02,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:02,655 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:02,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:02,687 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:02,996 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,997 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,006 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,006 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,007 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:03,010 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:03,010 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#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:30:03,010 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,100 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,101 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,102 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,115 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,115 INFO L496 ElimStorePlain]: Start of recursive call 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:03,115 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:03,119 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:03,119 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:30:03,119 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:03,154 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,155 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,156 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,157 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,159 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,173 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,174 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:03,175 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:03,181 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:03,182 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_106| ULTIMATE.start_main_p3 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_106| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_106| 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:03,182 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:03,239 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,241 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,243 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,246 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,248 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,250 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,251 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:03,253 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,270 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,271 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:03,271 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:03,339 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,340 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,340 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,341 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,342 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,343 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,344 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:03,347 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,364 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,366 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:03,366 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:03,383 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:03,383 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_p1))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_108| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_108| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_108| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_108| 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:03,384 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:03,446 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,448 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,449 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,450 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,451 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,452 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,454 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:03,458 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,472 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,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:30:03,474 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:03,480 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:03,481 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 (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_109| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_109| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_109| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_109| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 .cse0))) [2019-05-15 10:30:03,481 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:03,546 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,547 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,548 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,548 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,550 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,551 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:03,553 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:03,557 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:03,571 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:03,574 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:03,574 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:30:09,592 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:09,592 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_110| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_110| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_110| 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_110| ULTIMATE.start_main_p1) 2) (= 0 (select |v_#memory_int_110| ULTIMATE.start_main_p2)))) [2019-05-15 10:30:09,593 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 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:09,657 INFO L273 TraceCheckUtils]: 0: Hoare triple {3567#true} havoc main_p1, main_p2, main_p3, main_p4; {3567#true} is VALID [2019-05-15 10:30:09,658 INFO L273 TraceCheckUtils]: 1: Hoare triple {3567#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3567#true} is VALID [2019-05-15 10:30:09,658 INFO L273 TraceCheckUtils]: 2: Hoare triple {3567#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3567#true} is VALID [2019-05-15 10:30:09,658 INFO L273 TraceCheckUtils]: 3: Hoare triple {3567#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3567#true} is VALID [2019-05-15 10:30:09,658 INFO L273 TraceCheckUtils]: 4: Hoare triple {3567#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {3567#true} is VALID [2019-05-15 10:30:09,659 INFO L273 TraceCheckUtils]: 5: Hoare triple {3567#true} assume main_p1 < main_p2; {3587#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:09,660 INFO L273 TraceCheckUtils]: 6: Hoare triple {3587#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3591#(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,660 INFO L273 TraceCheckUtils]: 7: Hoare triple {3591#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {3595#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:09,661 INFO L273 TraceCheckUtils]: 8: Hoare triple {3595#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3599#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,662 INFO L273 TraceCheckUtils]: 9: Hoare triple {3599#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3603#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,664 INFO L273 TraceCheckUtils]: 10: Hoare triple {3603#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3607#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:09,666 INFO L273 TraceCheckUtils]: 11: Hoare triple {3607#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := 0]; {3611#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-05-15 10:30:09,668 INFO L273 TraceCheckUtils]: 12: Hoare triple {3611#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3615#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-05-15 10:30:09,671 INFO L273 TraceCheckUtils]: 13: Hoare triple {3615#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3619#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-05-15 10:30:09,674 INFO L273 TraceCheckUtils]: 14: Hoare triple {3619#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3623#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:30:09,675 INFO L273 TraceCheckUtils]: 15: Hoare triple {3623#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {3568#false} is VALID [2019-05-15 10:30:09,676 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,676 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:09,676 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:09,677 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:09,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:09,677 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:09,701 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:09,701 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:09,702 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:09,702 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:09,702 INFO L87 Difference]: Start difference. First operand 33 states and 74 transitions. Second operand 12 states. [2019-05-15 10:30:14,821 WARN L188 SmtUtils]: Spent 4.79 s on a formula simplification that was a NOOP. DAG size: 22 [2019-05-15 10:30:16,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:16,308 INFO L93 Difference]: Finished difference Result 56 states and 96 transitions. [2019-05-15 10:30:16,308 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:16,308 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:16,308 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:16,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:16,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2019-05-15 10:30:16,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:16,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2019-05-15 10:30:16,311 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 77 transitions. [2019-05-15 10:30:17,025 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:17,026 INFO L225 Difference]: With dead ends: 56 [2019-05-15 10:30:17,026 INFO L226 Difference]: Without dead ends: 53 [2019-05-15 10:30:17,027 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 5.3s TimeCoverageRelationStatistics Valid=73, Invalid=233, Unknown=0, NotChecked=0, Total=306 [2019-05-15 10:30:17,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2019-05-15 10:30:17,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 33. [2019-05-15 10:30:17,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:17,030 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 33 states. [2019-05-15 10:30:17,030 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 33 states. [2019-05-15 10:30:17,030 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 33 states. [2019-05-15 10:30:17,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:17,032 INFO L93 Difference]: Finished difference Result 53 states and 93 transitions. [2019-05-15 10:30:17,032 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 93 transitions. [2019-05-15 10:30:17,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:17,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:17,033 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 53 states. [2019-05-15 10:30:17,033 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 53 states. [2019-05-15 10:30:17,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:17,035 INFO L93 Difference]: Finished difference Result 53 states and 93 transitions. [2019-05-15 10:30:17,036 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 93 transitions. [2019-05-15 10:30:17,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:17,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:17,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:17,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:17,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2019-05-15 10:30:17,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 73 transitions. [2019-05-15 10:30:17,038 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 73 transitions. Word has length 16 [2019-05-15 10:30:17,038 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:17,038 INFO L475 AbstractCegarLoop]: Abstraction has 33 states and 73 transitions. [2019-05-15 10:30:17,038 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:17,039 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 73 transitions. [2019-05-15 10:30:17,039 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:17,039 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:17,039 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:17,039 INFO L418 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:17,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:17,040 INFO L82 PathProgramCache]: Analyzing trace with hash 896840280, now seen corresponding path program 4 times [2019-05-15 10:30:17,041 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:17,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:17,050 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:17,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:17,068 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:17,435 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:17,435 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,467 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,467 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,467 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:17,470 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,470 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_111| ULTIMATE.start_main_p1 0) |#memory_int|)) [2019-05-15 10:30:17,470 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:17,502 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,504 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:17,508 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,518 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,518 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,518 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:17,562 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,564 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,565 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,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, 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:17,568 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,581 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,584 INFO L496 ElimStorePlain]: Start of recursive call 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,585 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:17,589 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,589 WARN L403 uantifierElimination]: Input elimination task: ∃ [|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 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:30:17,589 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:17,634 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,635 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,637 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,638 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,639 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,640 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,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, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:17,644 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,660 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,662 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,662 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:17,668 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,668 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_114|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= |#memory_int| (store |v_#memory_int_114| ULTIMATE.start_main_p4 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_114| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_114| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_114| 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,668 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:17,717 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,718 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,719 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,721 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,722 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,723 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,725 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:17,728 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,743 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,745 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,745 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:17,757 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,758 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_115|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_115| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_115| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_115| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_115| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_115| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:17,758 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:17,809 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,810 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,811 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,812 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,814 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,815 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,816 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:17,818 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,834 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,837 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:17,837 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:30:17,844 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,844 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_116| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_116| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_116| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_116| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:17,844 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:17,902 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,903 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,904 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,905 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,907 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,908 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:17,909 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 37 [2019-05-15 10:30:17,912 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:17,926 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:17,930 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:17,930 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-05-15 10:30:17,940 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:17,940 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_117| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_117| ULTIMATE.start_main_p2) 1)) (= 1 .cse0) (= |#memory_int| (store |v_#memory_int_117| 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:17,940 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:17,966 INFO L273 TraceCheckUtils]: 0: Hoare triple {3833#true} havoc main_p1, main_p2, main_p3, main_p4; {3833#true} is VALID [2019-05-15 10:30:17,967 INFO L273 TraceCheckUtils]: 1: Hoare triple {3833#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {3833#true} is VALID [2019-05-15 10:30:17,967 INFO L273 TraceCheckUtils]: 2: Hoare triple {3833#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {3833#true} is VALID [2019-05-15 10:30:17,967 INFO L273 TraceCheckUtils]: 3: Hoare triple {3833#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {3833#true} is VALID [2019-05-15 10:30:17,968 INFO L273 TraceCheckUtils]: 4: Hoare triple {3833#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {3833#true} is VALID [2019-05-15 10:30:17,968 INFO L273 TraceCheckUtils]: 5: Hoare triple {3833#true} assume main_p1 < main_p2; {3853#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:17,969 INFO L273 TraceCheckUtils]: 6: Hoare triple {3853#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {3857#(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,970 INFO L273 TraceCheckUtils]: 7: Hoare triple {3857#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {3861#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:17,970 INFO L273 TraceCheckUtils]: 8: Hoare triple {3861#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {3865#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,971 INFO L273 TraceCheckUtils]: 9: Hoare triple {3865#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3869#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:17,972 INFO L273 TraceCheckUtils]: 10: Hoare triple {3869#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {3873#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:17,974 INFO L273 TraceCheckUtils]: 11: Hoare triple {3873#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {3877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:17,977 INFO L273 TraceCheckUtils]: 12: Hoare triple {3877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:17,979 INFO L273 TraceCheckUtils]: 13: Hoare triple {3881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:17,983 INFO L273 TraceCheckUtils]: 14: Hoare triple {3885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3889#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< 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:17,984 INFO L273 TraceCheckUtils]: 15: Hoare triple {3889#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< 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); {3834#false} is VALID [2019-05-15 10:30:17,985 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,986 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:17,986 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:17,986 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:17,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:17,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:18,012 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:18,012 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:18,013 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:18,013 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:18,013 INFO L87 Difference]: Start difference. First operand 33 states and 73 transitions. Second operand 12 states. [2019-05-15 10:30:19,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:19,753 INFO L93 Difference]: Finished difference Result 60 states and 103 transitions. [2019-05-15 10:30:19,754 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:19,754 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:19,754 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:19,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:19,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:19,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:19,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:19,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2019-05-15 10:30:19,898 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:19,899 INFO L225 Difference]: With dead ends: 60 [2019-05-15 10:30:19,899 INFO L226 Difference]: Without dead ends: 60 [2019-05-15 10:30:19,900 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=70, Invalid=202, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:30:19,900 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2019-05-15 10:30:19,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 34. [2019-05-15 10:30:19,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:19,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 34 states. [2019-05-15 10:30:19,902 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 34 states. [2019-05-15 10:30:19,902 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 34 states. [2019-05-15 10:30:19,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:19,903 INFO L93 Difference]: Finished difference Result 60 states and 103 transitions. [2019-05-15 10:30:19,903 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 103 transitions. [2019-05-15 10:30:19,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:19,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:19,904 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 60 states. [2019-05-15 10:30:19,904 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 60 states. [2019-05-15 10:30:19,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:19,905 INFO L93 Difference]: Finished difference Result 60 states and 103 transitions. [2019-05-15 10:30:19,906 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 103 transitions. [2019-05-15 10:30:19,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:19,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:19,906 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:19,906 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:19,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2019-05-15 10:30:19,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 78 transitions. [2019-05-15 10:30:19,907 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 78 transitions. Word has length 16 [2019-05-15 10:30:19,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:19,908 INFO L475 AbstractCegarLoop]: Abstraction has 34 states and 78 transitions. [2019-05-15 10:30:19,908 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:19,908 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 78 transitions. [2019-05-15 10:30:19,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:19,908 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:19,908 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:19,909 INFO L418 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:19,909 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:19,909 INFO L82 PathProgramCache]: Analyzing trace with hash 896840404, now seen corresponding path program 5 times [2019-05-15 10:30:19,910 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:19,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:19,918 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:19,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:19,932 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:19,991 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:19,991 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:19,999 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,000 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,000 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:20,003 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,004 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_118| 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:20,004 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:20,033 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,034 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,035 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,047 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,047 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,047 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:20,087 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,088 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,089 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,090 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:20,092 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,106 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,108 INFO L496 ElimStorePlain]: Start of recursive call 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,108 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:20,112 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,113 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_120|, ULTIMATE.start_main_p3]. (and (= (store |v_#memory_int_120| ULTIMATE.start_main_p3 0) |#memory_int|) (= (select |v_#memory_int_120| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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)) [2019-05-15 10:30:20,113 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:20,175 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,177 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,178 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,179 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,181 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,182 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,183 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:20,185 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,199 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,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:30:20,202 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:20,208 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,209 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_121|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (store |v_#memory_int_121| ULTIMATE.start_main_p4 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_121| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_121| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_121| 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:20,209 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:20,258 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,259 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,261 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,262 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,263 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,264 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,266 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:20,269 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,285 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,288 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:20,288 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:20,294 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,294 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_122| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_122| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_122| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_122| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_122| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:20,295 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:20,345 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,346 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,347 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,348 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,350 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,351 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,352 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:20,354 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,368 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,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:30:20,371 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:32 [2019-05-15 10:30:20,377 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,377 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_123| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_123| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 1) (= .cse0 0) (= (store |v_#memory_int_123| ULTIMATE.start_main_p2 (+ .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_123| ULTIMATE.start_main_p3)))) [2019-05-15 10:30:20,377 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:20,434 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,435 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,437 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,438 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,439 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,441 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:20,442 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 37 [2019-05-15 10:30:20,445 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:20,462 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:20,465 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:20,465 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-05-15 10:30:20,472 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:20,472 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_124| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_124| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ .cse0 1)) (= (store |v_#memory_int_124| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_124| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:20,472 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:20,504 INFO L273 TraceCheckUtils]: 0: Hoare triple {4116#true} havoc main_p1, main_p2, main_p3, main_p4; {4116#true} is VALID [2019-05-15 10:30:20,505 INFO L273 TraceCheckUtils]: 1: Hoare triple {4116#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4116#true} is VALID [2019-05-15 10:30:20,505 INFO L273 TraceCheckUtils]: 2: Hoare triple {4116#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4116#true} is VALID [2019-05-15 10:30:20,506 INFO L273 TraceCheckUtils]: 3: Hoare triple {4116#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4116#true} is VALID [2019-05-15 10:30:20,506 INFO L273 TraceCheckUtils]: 4: Hoare triple {4116#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {4116#true} is VALID [2019-05-15 10:30:20,509 INFO L273 TraceCheckUtils]: 5: Hoare triple {4116#true} assume main_p1 < main_p2; {4136#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:20,509 INFO L273 TraceCheckUtils]: 6: Hoare triple {4136#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4140#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:20,510 INFO L273 TraceCheckUtils]: 7: Hoare triple {4140#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {4144#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:20,510 INFO L273 TraceCheckUtils]: 8: Hoare triple {4144#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4148#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:20,512 INFO L273 TraceCheckUtils]: 9: Hoare triple {4148#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4152#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:20,514 INFO L273 TraceCheckUtils]: 10: Hoare triple {4152#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4156#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:20,516 INFO L273 TraceCheckUtils]: 11: Hoare triple {4156#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {4160#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:20,519 INFO L273 TraceCheckUtils]: 12: Hoare triple {4160#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:20,522 INFO L273 TraceCheckUtils]: 13: Hoare triple {4164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4168#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:20,527 INFO L273 TraceCheckUtils]: 14: Hoare triple {4168#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4172#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:20,528 INFO L273 TraceCheckUtils]: 15: Hoare triple {4172#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {4117#false} is VALID [2019-05-15 10:30:20,529 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,530 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:20,530 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:20,530 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:20,530 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:20,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:20,552 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:20,552 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:20,553 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:20,553 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:20,553 INFO L87 Difference]: Start difference. First operand 34 states and 78 transitions. Second operand 12 states. [2019-05-15 10:30:22,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:22,588 INFO L93 Difference]: Finished difference Result 59 states and 102 transitions. [2019-05-15 10:30:22,588 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:22,588 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:22,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:22,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:22,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:22,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:22,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:22,590 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2019-05-15 10:30:22,739 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:22,740 INFO L225 Difference]: With dead ends: 59 [2019-05-15 10:30:22,740 INFO L226 Difference]: Without dead ends: 59 [2019-05-15 10:30:22,741 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=201, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:30:22,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2019-05-15 10:30:22,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 34. [2019-05-15 10:30:22,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:22,743 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 34 states. [2019-05-15 10:30:22,743 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 34 states. [2019-05-15 10:30:22,743 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 34 states. [2019-05-15 10:30:22,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:22,744 INFO L93 Difference]: Finished difference Result 59 states and 102 transitions. [2019-05-15 10:30:22,744 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 102 transitions. [2019-05-15 10:30:22,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:22,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:22,744 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 59 states. [2019-05-15 10:30:22,744 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 59 states. [2019-05-15 10:30:22,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:22,745 INFO L93 Difference]: Finished difference Result 59 states and 102 transitions. [2019-05-15 10:30:22,745 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 102 transitions. [2019-05-15 10:30:22,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:22,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:22,746 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:22,746 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:22,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2019-05-15 10:30:22,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 78 transitions. [2019-05-15 10:30:22,747 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 78 transitions. Word has length 16 [2019-05-15 10:30:22,747 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:22,747 INFO L475 AbstractCegarLoop]: Abstraction has 34 states and 78 transitions. [2019-05-15 10:30:22,747 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:22,747 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 78 transitions. [2019-05-15 10:30:22,748 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:22,748 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:22,748 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:22,748 INFO L418 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:22,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:22,749 INFO L82 PathProgramCache]: Analyzing trace with hash 896840528, now seen corresponding path program 1 times [2019-05-15 10:30:22,749 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:22,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:22,760 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:22,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:22,784 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:22,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:30:22,846 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:22,856 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:22,856 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:22,856 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:22,859 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:22,859 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_125|]. (and (= |#memory_int| (store |v_#memory_int_125| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:22,860 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:22,889 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:22,890 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:22,891 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:22,903 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:22,903 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:22,903 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:22,942 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:22,944 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:22,945 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:22,947 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:22,949 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:22,963 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:22,963 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:22,963 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:23,013 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,015 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,016 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,017 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,018 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,020 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,021 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:23,022 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,036 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:23,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:30:23,038 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:23,041 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:23,041 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|, ULTIMATE.start_main_p4]. (and (= (select |v_#memory_int_128| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_128| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_128| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_128| ULTIMATE.start_main_p4 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:23,042 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:23,093 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,095 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,096 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,097 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,098 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,100 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,101 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:23,103 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,119 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:23,121 INFO L496 ElimStorePlain]: Start of recursive call 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:23,121 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:23,132 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:23,133 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_129|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_129| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_129| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_129| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_129| 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_129| ULTIMATE.start_main_p4) 0))) [2019-05-15 10:30:23,133 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:23,186 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,187 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,189 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,190 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,191 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,192 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,194 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:23,196 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,212 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:23,214 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:23,214 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:32 [2019-05-15 10:30:23,238 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:23,238 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_130|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_130| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_130| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_130| 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:23,238 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:23,288 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,290 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,291 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,292 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,293 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,295 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:23,298 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 37 [2019-05-15 10:30:23,312 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:23,327 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:23,332 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:23,332 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-05-15 10:30:23,348 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:23,348 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_131|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_131| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_131| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_131| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_131| ULTIMATE.start_main_p1) 1) (= .cse0 0) (= (store |v_#memory_int_131| 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:23,349 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:23,378 INFO L273 TraceCheckUtils]: 0: Hoare triple {4396#true} havoc main_p1, main_p2, main_p3, main_p4; {4396#true} is VALID [2019-05-15 10:30:23,378 INFO L273 TraceCheckUtils]: 1: Hoare triple {4396#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4396#true} is VALID [2019-05-15 10:30:23,379 INFO L273 TraceCheckUtils]: 2: Hoare triple {4396#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4396#true} is VALID [2019-05-15 10:30:23,379 INFO L273 TraceCheckUtils]: 3: Hoare triple {4396#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4396#true} is VALID [2019-05-15 10:30:23,379 INFO L273 TraceCheckUtils]: 4: Hoare triple {4396#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {4396#true} is VALID [2019-05-15 10:30:23,380 INFO L273 TraceCheckUtils]: 5: Hoare triple {4396#true} assume main_p1 < main_p2; {4416#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:23,381 INFO L273 TraceCheckUtils]: 6: Hoare triple {4416#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4420#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:23,381 INFO L273 TraceCheckUtils]: 7: Hoare triple {4420#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {4424#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:23,382 INFO L273 TraceCheckUtils]: 8: Hoare triple {4424#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4428#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:23,384 INFO L273 TraceCheckUtils]: 9: Hoare triple {4428#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4432#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:23,385 INFO L273 TraceCheckUtils]: 10: Hoare triple {4432#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4436#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:23,387 INFO L273 TraceCheckUtils]: 11: Hoare triple {4436#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {4440#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:23,389 INFO L273 TraceCheckUtils]: 12: Hoare triple {4440#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {4444#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:23,391 INFO L273 TraceCheckUtils]: 13: Hoare triple {4444#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {4448#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-05-15 10:30:23,394 INFO L273 TraceCheckUtils]: 14: Hoare triple {4448#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4452#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-05-15 10:30:23,395 INFO L273 TraceCheckUtils]: 15: Hoare triple {4452#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {4397#false} is VALID [2019-05-15 10:30:23,397 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:23,397 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:23,398 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:23,398 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:23,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:23,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:23,424 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:23,425 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:23,425 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:23,425 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:23,425 INFO L87 Difference]: Start difference. First operand 34 states and 78 transitions. Second operand 12 states. [2019-05-15 10:30:24,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:24,902 INFO L93 Difference]: Finished difference Result 58 states and 101 transitions. [2019-05-15 10:30:24,902 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:24,902 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:24,902 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:24,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:24,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2019-05-15 10:30:24,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:24,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2019-05-15 10:30:24,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 78 transitions. [2019-05-15 10:30:25,045 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:25,047 INFO L225 Difference]: With dead ends: 58 [2019-05-15 10:30:25,047 INFO L226 Difference]: Without dead ends: 58 [2019-05-15 10:30:25,047 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=67, Invalid=173, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:30:25,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2019-05-15 10:30:25,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 34. [2019-05-15 10:30:25,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:25,050 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 34 states. [2019-05-15 10:30:25,050 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 34 states. [2019-05-15 10:30:25,050 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 34 states. [2019-05-15 10:30:25,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:25,052 INFO L93 Difference]: Finished difference Result 58 states and 101 transitions. [2019-05-15 10:30:25,052 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 101 transitions. [2019-05-15 10:30:25,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:25,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:25,053 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 58 states. [2019-05-15 10:30:25,053 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 58 states. [2019-05-15 10:30:25,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:25,054 INFO L93 Difference]: Finished difference Result 58 states and 101 transitions. [2019-05-15 10:30:25,054 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 101 transitions. [2019-05-15 10:30:25,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:25,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:25,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:25,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:25,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2019-05-15 10:30:25,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 78 transitions. [2019-05-15 10:30:25,056 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 78 transitions. Word has length 16 [2019-05-15 10:30:25,056 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:25,056 INFO L475 AbstractCegarLoop]: Abstraction has 34 states and 78 transitions. [2019-05-15 10:30:25,057 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:25,057 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 78 transitions. [2019-05-15 10:30:25,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:25,057 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:25,057 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:25,057 INFO L418 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:25,058 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:25,058 INFO L82 PathProgramCache]: Analyzing trace with hash 896840590, now seen corresponding path program 1 times [2019-05-15 10:30:25,058 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:25,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:25,066 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:25,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:25,079 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:25,138 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,139 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,148 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,149 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,149 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:25,151 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,151 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_132|]. (and (= (store |v_#memory_int_132| ULTIMATE.start_main_p1 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:25,152 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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,181 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,182 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,183 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,195 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,195 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,196 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:25,238 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,239 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,241 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,242 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,243 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,257 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,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:30:25,259 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:25,264 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,264 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_134| 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_134| ULTIMATE.start_main_p3 0))) [2019-05-15 10:30:25,264 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:25,305 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,306 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,308 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,309 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,310 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,311 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,312 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:25,315 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,329 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,331 INFO L496 ElimStorePlain]: Start of recursive call 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,331 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:25,387 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,389 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,390 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,391 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,392 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,394 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,396 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:25,399 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,413 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,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:30:25,415 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:25,427 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,427 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_136|, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_136| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_136| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_136| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_136| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_136| 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,427 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:25,486 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,487 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,489 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,490 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,491 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,492 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,494 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:25,496 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,513 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30: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:30:25,515 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:32 [2019-05-15 10:30:25,520 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:25,520 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_137| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_137| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_137| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< 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) (= 0 (select |v_#memory_int_137| ULTIMATE.start_main_p4)))) [2019-05-15 10:30:25,520 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:25,689 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,691 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,692 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,693 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,694 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,696 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:25,697 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 37 [2019-05-15 10:30:25,700 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:25,717 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:25,722 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:25,722 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:34 [2019-05-15 10:30:28,989 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:28,990 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_138| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_138| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_138| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_138| 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:28,990 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-05-15 10:30:29,062 INFO L273 TraceCheckUtils]: 0: Hoare triple {4671#true} havoc main_p1, main_p2, main_p3, main_p4; {4671#true} is VALID [2019-05-15 10:30:29,063 INFO L273 TraceCheckUtils]: 1: Hoare triple {4671#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4671#true} is VALID [2019-05-15 10:30:29,063 INFO L273 TraceCheckUtils]: 2: Hoare triple {4671#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4671#true} is VALID [2019-05-15 10:30:29,063 INFO L273 TraceCheckUtils]: 3: Hoare triple {4671#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4671#true} is VALID [2019-05-15 10:30:29,064 INFO L273 TraceCheckUtils]: 4: Hoare triple {4671#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {4671#true} is VALID [2019-05-15 10:30:29,064 INFO L273 TraceCheckUtils]: 5: Hoare triple {4671#true} assume main_p1 < main_p2; {4691#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:29,065 INFO L273 TraceCheckUtils]: 6: Hoare triple {4691#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4695#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:29,065 INFO L273 TraceCheckUtils]: 7: Hoare triple {4695#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {4699#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:29,066 INFO L273 TraceCheckUtils]: 8: Hoare triple {4699#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4703#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:29,067 INFO L273 TraceCheckUtils]: 9: Hoare triple {4703#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4707#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:29,068 INFO L273 TraceCheckUtils]: 10: Hoare triple {4707#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4711#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:29,070 INFO L273 TraceCheckUtils]: 11: Hoare triple {4711#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {4715#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:29,072 INFO L273 TraceCheckUtils]: 12: Hoare triple {4715#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4719#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:29,075 INFO L273 TraceCheckUtils]: 13: Hoare triple {4719#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4723#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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:29,078 INFO L273 TraceCheckUtils]: 14: Hoare triple {4723#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4 := #memory_int[main_p4] - 1]; {4727#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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_p2) 1) 0))))} is VALID [2019-05-15 10:30:29,079 INFO L273 TraceCheckUtils]: 15: Hoare triple {4727#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 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_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {4672#false} is VALID [2019-05-15 10:30:29,081 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:29,081 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:29,082 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:29,082 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:29,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:29,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:29,106 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:29,106 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:29,107 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:29,107 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:29,107 INFO L87 Difference]: Start difference. First operand 34 states and 78 transitions. Second operand 12 states. [2019-05-15 10:30:30,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:30,625 INFO L93 Difference]: Finished difference Result 57 states and 100 transitions. [2019-05-15 10:30:30,625 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:30,625 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:30,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:30,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:30,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2019-05-15 10:30:30,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:30,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2019-05-15 10:30:30,627 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 77 transitions. [2019-05-15 10:30:30,760 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:30,761 INFO L225 Difference]: With dead ends: 57 [2019-05-15 10:30:30,761 INFO L226 Difference]: Without dead ends: 54 [2019-05-15 10:30:30,761 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=71, Invalid=201, Unknown=0, NotChecked=0, Total=272 [2019-05-15 10:30:30,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2019-05-15 10:30:30,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 33. [2019-05-15 10:30:30,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:30,763 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand 33 states. [2019-05-15 10:30:30,763 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 33 states. [2019-05-15 10:30:30,763 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 33 states. [2019-05-15 10:30:30,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:30,764 INFO L93 Difference]: Finished difference Result 54 states and 97 transitions. [2019-05-15 10:30:30,764 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 97 transitions. [2019-05-15 10:30:30,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:30,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:30,765 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 54 states. [2019-05-15 10:30:30,765 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 54 states. [2019-05-15 10:30:30,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:30,766 INFO L93 Difference]: Finished difference Result 54 states and 97 transitions. [2019-05-15 10:30:30,766 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 97 transitions. [2019-05-15 10:30:30,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:30,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:30,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:30,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:30,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2019-05-15 10:30:30,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 73 transitions. [2019-05-15 10:30:30,767 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 73 transitions. Word has length 16 [2019-05-15 10:30:30,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:30,767 INFO L475 AbstractCegarLoop]: Abstraction has 33 states and 73 transitions. [2019-05-15 10:30:30,767 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:30,768 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 73 transitions. [2019-05-15 10:30:30,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:30,768 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:30,768 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:30,768 INFO L418 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:30,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:30,769 INFO L82 PathProgramCache]: Analyzing trace with hash 896844124, now seen corresponding path program 4 times [2019-05-15 10:30:30,769 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:30,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:30,779 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:30,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:30,800 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:30,856 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:30,857 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:30,866 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:30,866 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:30,867 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:30,870 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:30,870 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|]. (and (= |#memory_int| (store |v_#memory_int_139| ULTIMATE.start_main_p1 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:30,870 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:30,902 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:30,904 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:30,906 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:30,917 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:30,918 INFO L496 ElimStorePlain]: Start of recursive call 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:30,918 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:30,921 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:30,922 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_140| 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:30,922 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:30,954 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:30,955 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:30,957 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:30,958 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:30,959 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:30,972 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:30,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:30:30,973 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:31,016 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,018 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,019 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,020 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,021 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,023 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,024 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:31,026 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:31,040 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:31,042 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:31,042 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:31,052 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:31,053 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_142|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (store |v_#memory_int_142| ULTIMATE.start_main_p4 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_142| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_142| 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_142| ULTIMATE.start_main_p3))) [2019-05-15 10:30:31,053 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:31,099 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,101 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,102 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,103 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,104 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,105 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,107 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:31,133 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:31,148 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:31,150 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:31,150 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:31,156 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:31,156 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_143| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_143| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_143| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-05-15 10:30:31,156 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:31,225 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,227 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,228 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,229 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,230 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,231 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,232 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:31,235 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:31,250 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:31,253 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:31,253 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:31,260 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:31,260 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_144| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_144| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_144| 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:31,261 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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_p4) 0)) [2019-05-15 10:30:31,349 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,365 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,371 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,372 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,373 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,374 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:31,375 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:31,378 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:31,394 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:31,396 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:31,396 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:31,404 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:31,404 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_145| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_145| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_145| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 1 .cse0) (= 0 (select |v_#memory_int_145| 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:31,404 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:31,434 INFO L273 TraceCheckUtils]: 0: Hoare triple {4938#true} havoc main_p1, main_p2, main_p3, main_p4; {4938#true} is VALID [2019-05-15 10:30:31,434 INFO L273 TraceCheckUtils]: 1: Hoare triple {4938#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {4938#true} is VALID [2019-05-15 10:30:31,435 INFO L273 TraceCheckUtils]: 2: Hoare triple {4938#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {4938#true} is VALID [2019-05-15 10:30:31,435 INFO L273 TraceCheckUtils]: 3: Hoare triple {4938#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {4938#true} is VALID [2019-05-15 10:30:31,435 INFO L273 TraceCheckUtils]: 4: Hoare triple {4938#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {4938#true} is VALID [2019-05-15 10:30:31,450 INFO L273 TraceCheckUtils]: 5: Hoare triple {4938#true} assume main_p1 < main_p2; {4958#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:31,463 INFO L273 TraceCheckUtils]: 6: Hoare triple {4958#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {4962#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:31,471 INFO L273 TraceCheckUtils]: 7: Hoare triple {4962#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {4966#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:31,472 INFO L273 TraceCheckUtils]: 8: Hoare triple {4966#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {4970#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:31,473 INFO L273 TraceCheckUtils]: 9: Hoare triple {4970#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4974#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:31,474 INFO L273 TraceCheckUtils]: 10: Hoare triple {4974#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {4978#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:31,475 INFO L273 TraceCheckUtils]: 11: Hoare triple {4978#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {4982#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:31,477 INFO L273 TraceCheckUtils]: 12: Hoare triple {4982#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {4986#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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:31,480 INFO L273 TraceCheckUtils]: 13: Hoare triple {4986#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {4990#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-05-15 10:30:31,482 INFO L273 TraceCheckUtils]: 14: Hoare triple {4990#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4994#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} is VALID [2019-05-15 10:30:31,483 INFO L273 TraceCheckUtils]: 15: Hoare triple {4994#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2))} assume !(#memory_int[main_p1] >= 0); {4939#false} is VALID [2019-05-15 10:30:31,484 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:31,485 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:31,485 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:31,485 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:31,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:31,486 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:31,510 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:31,510 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:31,510 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:31,510 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:31,511 INFO L87 Difference]: Start difference. First operand 33 states and 73 transitions. Second operand 12 states. [2019-05-15 10:30:33,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:33,225 INFO L93 Difference]: Finished difference Result 60 states and 103 transitions. [2019-05-15 10:30:33,225 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:33,225 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:33,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:33,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:33,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:33,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:33,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:33,227 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2019-05-15 10:30:33,373 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:33,374 INFO L225 Difference]: With dead ends: 60 [2019-05-15 10:30:33,374 INFO L226 Difference]: Without dead ends: 60 [2019-05-15 10:30:33,374 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=233, Unknown=0, NotChecked=0, Total=306 [2019-05-15 10:30:33,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2019-05-15 10:30:33,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 34. [2019-05-15 10:30:33,377 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:33,377 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 34 states. [2019-05-15 10:30:33,377 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 34 states. [2019-05-15 10:30:33,377 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 34 states. [2019-05-15 10:30:33,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:33,378 INFO L93 Difference]: Finished difference Result 60 states and 103 transitions. [2019-05-15 10:30:33,378 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 103 transitions. [2019-05-15 10:30:33,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:33,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:33,378 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 60 states. [2019-05-15 10:30:33,378 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 60 states. [2019-05-15 10:30:33,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:33,379 INFO L93 Difference]: Finished difference Result 60 states and 103 transitions. [2019-05-15 10:30:33,379 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 103 transitions. [2019-05-15 10:30:33,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:33,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:33,380 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:33,380 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:33,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2019-05-15 10:30:33,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 78 transitions. [2019-05-15 10:30:33,381 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 78 transitions. Word has length 16 [2019-05-15 10:30:33,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:33,381 INFO L475 AbstractCegarLoop]: Abstraction has 34 states and 78 transitions. [2019-05-15 10:30:33,381 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:33,381 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 78 transitions. [2019-05-15 10:30:33,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:33,381 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:33,382 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:33,382 INFO L418 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:33,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:33,382 INFO L82 PathProgramCache]: Analyzing trace with hash 896844248, now seen corresponding path program 2 times [2019-05-15 10:30:33,383 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:33,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:33,394 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:33,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:33,421 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:33,520 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:33,520 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,529 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:33,530 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,530 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:33,533 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:33,533 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_146|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#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:33,533 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:33,562 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,563 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:33,564 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,574 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:33,575 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,575 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:33,612 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,613 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,614 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,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, 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:33,617 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,630 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:33,631 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,631 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:33,674 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,676 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,683 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,684 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,685 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,686 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,688 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:33,708 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,722 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:33,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:30:33,724 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:33,728 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:33,729 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_149|, ULTIMATE.start_main_p4]. (and (= (select |v_#memory_int_149| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_149| ULTIMATE.start_main_p4 0) |#memory_int|) (= 0 (select |v_#memory_int_149| ULTIMATE.start_main_p1)) (= (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:33,729 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:33,778 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,779 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,781 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,782 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,783 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,784 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,788 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:33,792 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,806 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:33,807 INFO L496 ElimStorePlain]: Start of recursive call 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:33,808 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:33,822 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:33,823 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_150|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_150| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_150| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_150| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_150| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_150| 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:30:33,823 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:33,873 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,875 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,876 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,877 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,878 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,880 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:33,881 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:33,884 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:33,898 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:33,900 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:33,901 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:34,266 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:34,266 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_151|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_151| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_151| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_151| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 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:34,266 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:34,326 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:34,327 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:34,328 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:34,329 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:34,331 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:34,332 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:34,333 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:34,337 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:34,355 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:34,358 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:34,358 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:32 [2019-05-15 10:30:34,365 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:34,365 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_152|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_152| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_152| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_152| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_152| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_152| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-05-15 10:30:34,365 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-05-15 10:30:34,396 INFO L273 TraceCheckUtils]: 0: Hoare triple {5223#true} havoc main_p1, main_p2, main_p3, main_p4; {5223#true} is VALID [2019-05-15 10:30:34,397 INFO L273 TraceCheckUtils]: 1: Hoare triple {5223#true} SUMMARY for call main_p1 := malloc(); srcloc: L17 {5223#true} is VALID [2019-05-15 10:30:34,397 INFO L273 TraceCheckUtils]: 2: Hoare triple {5223#true} SUMMARY for call main_p2 := malloc(); srcloc: L17-1 {5223#true} is VALID [2019-05-15 10:30:34,397 INFO L273 TraceCheckUtils]: 3: Hoare triple {5223#true} SUMMARY for call main_p3 := malloc(); srcloc: L18 {5223#true} is VALID [2019-05-15 10:30:34,398 INFO L273 TraceCheckUtils]: 4: Hoare triple {5223#true} SUMMARY for call main_p4 := malloc(); srcloc: L19 {5223#true} is VALID [2019-05-15 10:30:34,399 INFO L273 TraceCheckUtils]: 5: Hoare triple {5223#true} assume main_p1 < main_p2; {5243#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} is VALID [2019-05-15 10:30:34,400 INFO L273 TraceCheckUtils]: 6: Hoare triple {5243#(< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)} assume main_p2 < main_p3; {5247#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:34,400 INFO L273 TraceCheckUtils]: 7: Hoare triple {5247#(and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} assume main_p3 < main_p4; {5251#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:34,401 INFO L273 TraceCheckUtils]: 8: Hoare triple {5251#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := 0]; {5255#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:34,401 INFO L273 TraceCheckUtils]: 9: Hoare triple {5255#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {5259#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:34,402 INFO L273 TraceCheckUtils]: 10: Hoare triple {5259#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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]; {5263#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:34,403 INFO L273 TraceCheckUtils]: 11: Hoare triple {5263#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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_p4 := 0]; {5267#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:34,405 INFO L273 TraceCheckUtils]: 12: Hoare triple {5267#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {5271#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:34,407 INFO L273 TraceCheckUtils]: 13: Hoare triple {5271#(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) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) 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]; {5275#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-05-15 10:30:34,410 INFO L273 TraceCheckUtils]: 14: Hoare triple {5275#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 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]; {5279#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-05-15 10:30:34,411 INFO L273 TraceCheckUtils]: 15: Hoare triple {5279#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 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) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5224#false} is VALID [2019-05-15 10:30:34,412 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:34,412 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:30:34,413 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2019-05-15 10:30:34,413 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:34,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:30:34,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-05-15 10:30:34,434 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:34,435 INFO L454 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-05-15 10:30:34,435 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-05-15 10:30:34,435 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=91, Unknown=0, NotChecked=0, Total=132 [2019-05-15 10:30:34,435 INFO L87 Difference]: Start difference. First operand 34 states and 78 transitions. Second operand 12 states. [2019-05-15 10:30:36,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:36,005 INFO L93 Difference]: Finished difference Result 59 states and 102 transitions. [2019-05-15 10:30:36,006 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-05-15 10:30:36,006 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 16 [2019-05-15 10:30:36,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:30:36,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:36,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:36,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-05-15 10:30:36,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2019-05-15 10:30:36,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2019-05-15 10:30:36,141 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:30:36,142 INFO L225 Difference]: With dead ends: 59 [2019-05-15 10:30:36,143 INFO L226 Difference]: Without dead ends: 59 [2019-05-15 10:30:36,143 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=172, Unknown=0, NotChecked=0, Total=240 [2019-05-15 10:30:36,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2019-05-15 10:30:36,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 34. [2019-05-15 10:30:36,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:30:36,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 34 states. [2019-05-15 10:30:36,146 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 34 states. [2019-05-15 10:30:36,146 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 34 states. [2019-05-15 10:30:36,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:36,147 INFO L93 Difference]: Finished difference Result 59 states and 102 transitions. [2019-05-15 10:30:36,147 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 102 transitions. [2019-05-15 10:30:36,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:36,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:36,148 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 59 states. [2019-05-15 10:30:36,148 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 59 states. [2019-05-15 10:30:36,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:30:36,149 INFO L93 Difference]: Finished difference Result 59 states and 102 transitions. [2019-05-15 10:30:36,149 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 102 transitions. [2019-05-15 10:30:36,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:30:36,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:30:36,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:30:36,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:30:36,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2019-05-15 10:30:36,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 78 transitions. [2019-05-15 10:30:36,150 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 78 transitions. Word has length 16 [2019-05-15 10:30:36,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:30:36,151 INFO L475 AbstractCegarLoop]: Abstraction has 34 states and 78 transitions. [2019-05-15 10:30:36,151 INFO L476 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-05-15 10:30:36,151 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 78 transitions. [2019-05-15 10:30:36,151 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2019-05-15 10:30:36,151 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:30:36,151 INFO L399 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:30:36,151 INFO L418 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:30:36,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:30:36,151 INFO L82 PathProgramCache]: Analyzing trace with hash 896844372, now seen corresponding path program 5 times [2019-05-15 10:30:36,152 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:30:36,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:36,159 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 11 conjunts are in the unsatisfiable core [2019-05-15 10:30:36,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:30:36,180 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:30:36,234 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:36,235 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,243 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:36,243 INFO L496 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,244 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2019-05-15 10:30:36,246 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:36,246 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_153|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_153| 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:36,246 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:36,276 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,277 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:36,278 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,289 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:36,290 INFO L496 ElimStorePlain]: Start of recursive call 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:36,290 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:21, output treesize:20 [2019-05-15 10:30:36,294 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:36,294 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_154| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_154| 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:36,294 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (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:36,326 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,327 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,329 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,329 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:36,331 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,344 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:36,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:30:36,344 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:25 [2019-05-15 10:30:36,389 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,391 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,392 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,393 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,394 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,396 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,397 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 30 [2019-05-15 10:30:36,399 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,415 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:36,416 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:36,417 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:30 [2019-05-15 10:30:36,427 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:36,427 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_156|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_156| ULTIMATE.start_main_p4 0) |#memory_int|) (= (select |v_#memory_int_156| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p3))) [2019-05-15 10:30:36,428 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:36,474 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,476 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,477 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,478 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,480 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,481 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,482 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:36,485 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,503 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:36,506 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:36,506 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:36,512 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:36,513 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_157|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_157| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_157| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_157| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_157| ULTIMATE.start_main_p4) 0) (= (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) (= 0 .cse0))) [2019-05-15 10:30:36,513 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:36,561 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,563 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,564 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,565 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,566 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,568 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,569 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:36,571 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,586 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:36,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:36,589 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:36,605 WARN L402 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-05-15 10:30:36,606 WARN L403 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_158|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_158| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_158| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_158| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_158| ULTIMATE.start_main_p2) 0) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_158| ULTIMATE.start_main_p4) 0))) [2019-05-15 10:30:36,606 WARN L404 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-05-15 10:30:36,842 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,844 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,845 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,846 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,848 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,849 INFO L189 IndexEqualityManager]: detected not equals via solver [2019-05-15 10:30:36,850 INFO L375 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 35 [2019-05-15 10:30:36,852 INFO L496 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-05-15 10:30:36,868 INFO L567 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2019-05-15 10:30:36,870 INFO L496 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-05-15 10:30:36,871 INFO L221 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-05-15 10:30:45,742 WARN L193 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000) stderr output: (error "out of memory") [2019-05-15 10:30:45,744 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:30:45,804 INFO L168 Benchmark]: Toolchain (without parser) took 120365.30 ms. Allocated memory was 134.7 MB in the beginning and 245.4 MB in the end (delta: 110.6 MB). Free memory was 112.1 MB in the beginning and 76.0 MB in the end (delta: 36.1 MB). Peak memory consumption was 146.8 MB. Max. memory is 7.1 GB. [2019-05-15 10:30:45,805 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.59 ms. Allocated memory is still 134.7 MB. Free memory is still 113.6 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-05-15 10:30:45,805 INFO L168 Benchmark]: Boogie Procedure Inliner took 54.47 ms. Allocated memory is still 134.7 MB. Free memory was 112.1 MB in the beginning and 110.0 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:30:45,805 INFO L168 Benchmark]: Boogie Preprocessor took 21.04 ms. Allocated memory is still 134.7 MB. Free memory was 110.0 MB in the beginning and 108.7 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:30:45,805 INFO L168 Benchmark]: RCFGBuilder took 709.20 ms. Allocated memory is still 134.7 MB. Free memory was 108.7 MB in the beginning and 92.9 MB in the end (delta: 15.8 MB). Peak memory consumption was 15.8 MB. Max. memory is 7.1 GB. [2019-05-15 10:30:45,806 INFO L168 Benchmark]: TraceAbstraction took 119574.90 ms. Allocated memory was 134.7 MB in the beginning and 245.4 MB in the end (delta: 110.6 MB). Free memory was 92.7 MB in the beginning and 76.0 MB in the end (delta: 16.7 MB). Peak memory consumption was 127.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:30:45,809 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.59 ms. Allocated memory is still 134.7 MB. Free memory is still 113.6 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 54.47 ms. Allocated memory is still 134.7 MB. Free memory was 112.1 MB in the beginning and 110.0 MB in the end (delta: 2.2 MB). Peak memory consumption was 2.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 21.04 ms. Allocated memory is still 134.7 MB. Free memory was 110.0 MB in the beginning and 108.7 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. * RCFGBuilder took 709.20 ms. Allocated memory is still 134.7 MB. Free memory was 108.7 MB in the beginning and 92.9 MB in the end (delta: 15.8 MB). Peak memory consumption was 15.8 MB. Max. memory is 7.1 GB. * TraceAbstraction took 119574.90 ms. Allocated memory was 134.7 MB in the beginning and 245.4 MB in the end (delta: 110.6 MB). Free memory was 92.7 MB in the beginning and 76.0 MB in the end (delta: 16.7 MB). Peak memory consumption was 127.3 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...