/root/.sdkman/candidates/java/21.0.5-tem/bin/java -Xmx22000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata ./data --icfgtochc.assume.program.has.a.precondition False --icfgtochc.specification.mode ASSERT_VIOLATIONS --icfgtochc.single-instance.threads notifier --icfgtochc.thread-modular.proof.level 1 --icfgtochc.preference.order.used.for.reduction LOCKSTEP --icfgtochc.use.semi-commutativity True -s ../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/../ThreadModularVerifier.Settings.epf -tc ../../../trunk/examples/concurrent/bpl/parameterized/ThreadModularVerifier.xml --chcsolver.chc.solver.backend ELDARICA -i ../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/notify-listeners.bpl -------------------------------------------------------------------------------- This is Ultimate 0.3.0-wip.dk.sleep-threadmodular-07d3146-m [2025-01-03 16:21:19,887 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-03 16:21:19,944 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/../ThreadModularVerifier.Settings.epf [2025-01-03 16:21:19,952 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-03 16:21:19,952 INFO L151 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2025-01-03 16:21:19,952 INFO L153 SettingsManager]: * Produce CHC model if query is SAT=false [2025-01-03 16:21:19,952 INFO L153 SettingsManager]: * CHC solver backend=Z3 [2025-01-03 16:21:19,952 INFO L153 SettingsManager]: * Produce derivation if query is UNSAT=false [2025-01-03 16:21:19,953 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-03 16:21:19,953 INFO L153 SettingsManager]: * Size of a code block=OneNontrivialStatement [2025-01-03 16:21:19,953 INFO L153 SettingsManager]: * Add additional assume for each assert=false [2025-01-03 16:21:19,953 INFO L151 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2025-01-03 16:21:19,953 INFO L153 SettingsManager]: * Conditional Independence=SUFFICIENT [2025-01-03 16:21:19,953 INFO L151 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2025-01-03 16:21:19,953 INFO L153 SettingsManager]: * Save file in source directory=true [2025-01-03 16:21:19,953 INFO L153 SettingsManager]: * Use automatic naming=true [2025-01-03 16:21:19,953 INFO L153 SettingsManager]: * File name=CHC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Assume program has a precondition -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Specification mode -> ASSERT_VIOLATIONS Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Single-instance threads -> notifier Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Thread-Modular Proof Level -> 1 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Preference order used for reduction -> LOCKSTEP Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Use semi-commutativity -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: CHC solver backend -> ELDARICA [2025-01-03 16:21:20,221 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-03 16:21:20,235 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-03 16:21:20,236 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-03 16:21:20,237 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2025-01-03 16:21:20,237 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2025-01-03 16:21:20,238 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/notify-listeners.bpl [2025-01-03 16:21:20,238 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/notify-listeners.bpl' [2025-01-03 16:21:20,254 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-03 16:21:20,256 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2025-01-03 16:21:20,257 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-03 16:21:20,257 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-03 16:21:20,257 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-03 16:21:20,266 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,267 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,271 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,271 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,272 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,272 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,275 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,275 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,275 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,276 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-03 16:21:20,277 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-03 16:21:20,278 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-03 16:21:20,278 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-03 16:21:20,278 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,284 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-03 16:21:20,290 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2025-01-03 16:21:20,299 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-03 16:21:20,305 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-01-03 16:21:20,329 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2025-01-03 16:21:20,329 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2025-01-03 16:21:20,330 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2025-01-03 16:21:20,330 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2025-01-03 16:21:20,330 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-03 16:21:20,330 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-03 16:21:20,365 INFO L234 CfgBuilder]: Building ICFG [2025-01-03 16:21:20,367 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-03 16:21:20,424 INFO L? ?]: Removed 5 outVars from TransFormulas that were not future-live. [2025-01-03 16:21:20,424 INFO L283 CfgBuilder]: Performing block encoding [2025-01-03 16:21:20,430 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-03 16:21:20,430 INFO L312 CfgBuilder]: Removed 2 assume(true) statements. [2025-01-03 16:21:20,432 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.01 04:21:20 BoogieIcfgContainer [2025-01-03 16:21:20,432 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-03 16:21:20,432 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2025-01-03 16:21:20,433 INFO L270 PluginConnector]: Initializing IcfgToChc... [2025-01-03 16:21:20,433 INFO L274 PluginConnector]: IcfgToChc initialized [2025-01-03 16:21:20,434 INFO L184 PluginConnector]: Executing the observer IcfgToChcObserver from plugin IcfgToChc for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.01 04:21:20" (1/1) ... [2025-01-03 16:21:20,535 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2025-01-03 16:21:20,563 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2025-01-03 16:21:20,569 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2025-01-03 16:21:20,576 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2025-01-03 16:21:20,597 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2025-01-03 16:21:20,620 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2025-01-03 16:21:20,633 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2025-01-03 16:21:20,652 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2025-01-03 16:21:20,668 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2025-01-03 16:21:20,681 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2025-01-03 16:21:20,703 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2025-01-03 16:21:20,715 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:20,736 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:20,759 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:20,775 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2025-01-03 16:21:20,788 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2025-01-03 16:21:20,794 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 16:21:20,799 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2025-01-03 16:21:20,810 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 16:21:20,848 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2025-01-03 16:21:20,862 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2025-01-03 16:21:20,869 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 16:21:20,881 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2025-01-03 16:21:20,893 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 16:21:20,902 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2025-01-03 16:21:20,912 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:20,924 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:20,936 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:20,943 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2025-01-03 16:21:20,949 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2025-01-03 16:21:20,950 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 16:21:20,951 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2025-01-03 16:21:20,958 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 16:21:20,963 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2025-01-03 16:21:20,969 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2025-01-03 16:21:20,973 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 16:21:20,983 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2025-01-03 16:21:20,987 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 16:21:20,994 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2025-01-03 16:21:20,999 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,004 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,009 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,022 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2025-01-03 16:21:21,036 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2025-01-03 16:21:21,040 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2025-01-03 16:21:21,045 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2025-01-03 16:21:21,061 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2025-01-03 16:21:21,076 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2025-01-03 16:21:21,087 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2025-01-03 16:21:21,094 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2025-01-03 16:21:21,102 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,112 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2025-01-03 16:21:21,119 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2025-01-03 16:21:21,128 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,140 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,151 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,163 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2025-01-03 16:21:21,173 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2025-01-03 16:21:21,182 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2025-01-03 16:21:21,188 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2025-01-03 16:21:21,198 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2025-01-03 16:21:21,210 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2025-01-03 16:21:21,237 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 12 [2025-01-03 16:21:21,257 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'notifications := notifications[current := data];' is: (not (= ULTIMATE.start_~~left~~idx current)) [2025-01-03 16:21:21,263 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2025-01-03 16:21:21,271 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2025-01-03 16:21:21,278 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2025-01-03 16:21:21,285 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2025-01-03 16:21:21,301 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,311 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,318 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,328 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2025-01-03 16:21:21,337 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2025-01-03 16:21:21,341 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2025-01-03 16:21:21,344 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2025-01-03 16:21:21,352 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2025-01-03 16:21:21,360 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2025-01-03 16:21:21,369 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2025-01-03 16:21:21,375 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2025-01-03 16:21:21,383 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,399 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2025-01-03 16:21:21,407 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2025-01-03 16:21:21,416 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,424 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,432 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,441 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2025-01-03 16:21:21,449 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2025-01-03 16:21:21,452 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2025-01-03 16:21:21,455 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2025-01-03 16:21:21,462 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2025-01-03 16:21:21,477 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2025-01-03 16:21:21,484 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2025-01-03 16:21:21,489 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2025-01-03 16:21:21,497 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,503 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2025-01-03 16:21:21,510 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2025-01-03 16:21:21,531 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,538 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,545 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,551 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 16:21:21,560 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,565 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 16:21:21,571 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2025-01-03 16:21:21,577 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,584 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,597 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,598 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 16:21:21,602 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,605 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 16:21:21,608 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2025-01-03 16:21:21,610 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,614 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,617 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,619 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2025-01-03 16:21:21,622 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,625 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2025-01-03 16:21:21,628 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2025-01-03 16:21:21,631 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,634 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,638 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,641 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2025-01-03 16:21:21,648 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,655 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2025-01-03 16:21:21,661 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2025-01-03 16:21:21,673 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,680 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,687 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,690 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2025-01-03 16:21:21,697 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2025-01-03 16:21:21,703 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2025-01-03 16:21:21,709 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2025-01-03 16:21:21,714 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,721 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,730 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,735 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2025-01-03 16:21:21,742 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2025-01-03 16:21:21,748 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2025-01-03 16:21:21,755 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2025-01-03 16:21:21,761 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,769 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,777 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 12 [2025-01-03 16:21:21,793 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'msg := notifications[idx];' is: (not (= ULTIMATE.start_~~right~~idx current)) [2025-01-03 16:21:21,798 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2025-01-03 16:21:21,806 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (not (= ULTIMATE.start_~~right~~idx current)) [2025-01-03 16:21:21,813 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2025-01-03 16:21:21,819 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2025-01-03 16:21:21,825 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2025-01-03 16:21:21,832 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2025-01-03 16:21:21,839 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2025-01-03 16:21:21,853 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 04:21:21 HornClauseAST [2025-01-03 16:21:21,854 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2025-01-03 16:21:21,854 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2025-01-03 16:21:21,854 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2025-01-03 16:21:21,854 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2025-01-03 16:21:21,855 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 04:21:21" (1/1) ... [2025-01-03 16:21:21,856 INFO L192 hcSmtPrinterObserver]: Writing to file /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/CHC_notify-listeners.bpl_UID14695908863763418589.smt2 [2025-01-03 16:21:21,872 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2025-01-03 16:21:21,872 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2025-01-03 16:21:21,872 INFO L270 PluginConnector]: Initializing ChcSolver... [2025-01-03 16:21:21,872 INFO L274 PluginConnector]: ChcSolver initialized [2025-01-03 16:21:21,875 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 04:21:21" (1/1) ... [2025-01-03 16:21:21,875 INFO L99 EldaricaCliChcScript]: Writing script to file /tmp/eldarica_439316942860064153.smt2 [2025-01-03 16:21:21,887 ERROR L181 MonitoredProcess]: Could not determine absolute path of external process, hoping that OS will resolve eld [2025-01-03 16:21:21,887 INFO L189 MonitoredProcess]: No working directory specified, using eld [2025-01-03 16:21:21,889 INFO L229 MonitoredProcess]: Starting monitored process 2 with eld -disj /tmp/eldarica_439316942860064153.smt2 (exit command is null, workingDir is null) [2025-01-03 16:21:21,892 INFO L327 MonitoredProcess]: [MP eld -disj /tmp/eldarica_439316942860064153.smt2 (2)] Waiting until timeout for monitored process [2025-01-03 16:39:15,389 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.chcsolver OTHER 03.01 04:39:15 ChcSolution [2025-01-03 16:39:15,389 INFO L131 PluginConnector]: ------------------------ END ChcSolver---------------------------- [2025-01-03 16:39:15,390 INFO L158 Benchmark]: Toolchain (without parser) took 1075134.09ms. Allocated memory was 167.8MB in the beginning and 218.1MB in the end (delta: 50.3MB). Free memory was 148.4MB in the beginning and 138.0MB in the end (delta: 10.4MB). Peak memory consumption was 52.8MB. Max. memory is 22.0GB. [2025-01-03 16:39:15,390 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.14ms. Allocated memory is still 167.8MB. Free memory was 149.3MB in the beginning and 149.3MB in the end (delta: 19.3kB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 16:39:15,391 INFO L158 Benchmark]: Boogie Preprocessor took 19.70ms. Allocated memory is still 167.8MB. Free memory was 148.4MB in the beginning and 147.0MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 16:39:15,391 INFO L158 Benchmark]: RCFGBuilder took 154.71ms. Allocated memory is still 167.8MB. Free memory was 146.9MB in the beginning and 138.6MB in the end (delta: 8.3MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 16:39:15,392 INFO L158 Benchmark]: IcfgToChc took 1421.16ms. Allocated memory was 167.8MB in the beginning and 218.1MB in the end (delta: 50.3MB). Free memory was 138.6MB in the beginning and 150.6MB in the end (delta: -12.0MB). Peak memory consumption was 70.8MB. Max. memory is 22.0GB. [2025-01-03 16:39:15,392 INFO L158 Benchmark]: ChcSmtPrinter took 17.94ms. Allocated memory is still 218.1MB. Free memory was 150.6MB in the beginning and 147.4MB in the end (delta: 3.2MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 16:39:15,392 INFO L158 Benchmark]: ChcSolver took 1073516.58ms. Allocated memory is still 218.1MB. Free memory was 147.4MB in the beginning and 138.0MB in the end (delta: 9.4MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. [2025-01-03 16:39:15,394 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.14ms. Allocated memory is still 167.8MB. Free memory was 149.3MB in the beginning and 149.3MB in the end (delta: 19.3kB). There was no memory consumed. Max. memory is 22.0GB. * Boogie Preprocessor took 19.70ms. Allocated memory is still 167.8MB. Free memory was 148.4MB in the beginning and 147.0MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. * RCFGBuilder took 154.71ms. Allocated memory is still 167.8MB. Free memory was 146.9MB in the beginning and 138.6MB in the end (delta: 8.3MB). There was no memory consumed. Max. memory is 22.0GB. * IcfgToChc took 1421.16ms. Allocated memory was 167.8MB in the beginning and 218.1MB in the end (delta: 50.3MB). Free memory was 138.6MB in the beginning and 150.6MB in the end (delta: -12.0MB). Peak memory consumption was 70.8MB. Max. memory is 22.0GB. * ChcSmtPrinter took 17.94ms. Allocated memory is still 218.1MB. Free memory was 150.6MB in the beginning and 147.4MB in the end (delta: 3.2MB). There was no memory consumed. Max. memory is 22.0GB. * ChcSolver took 1073516.58ms. Allocated memory is still 218.1MB. Free memory was 147.4MB in the beginning and 138.0MB in the end (delta: 9.4MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.chcsolver: - ChcSatResult: SAT The given horn clause set is SAT RESULT: Ultimate could not prove your program: Toolchain returned no result. [2025-01-03 16:39:15,406 WARN L435 MonitoredProcess]: [MP eld -disj /tmp/eldarica_439316942860064153.smt2 (2)] Forcibly destroying the process [2025-01-03 16:39:15,574 INFO L540 MonitoredProcess]: [MP eld -disj /tmp/eldarica_439316942860064153.smt2 (2)] Forceful destruction successful, exit code 137 [2025-01-03 16:39:15,580 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...