/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 GOLEM --icfgtochc.use.nondeterministic.sleep.update.encoding true -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 21:47:44,815 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-03 21:47:44,872 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 21:47:44,881 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-03 21:47:44,882 INFO L151 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2025-01-03 21:47:44,882 INFO L153 SettingsManager]: * Produce CHC model if query is SAT=false [2025-01-03 21:47:44,882 INFO L153 SettingsManager]: * CHC solver backend=Z3 [2025-01-03 21:47:44,882 INFO L153 SettingsManager]: * Produce derivation if query is UNSAT=false [2025-01-03 21:47:44,882 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-03 21:47:44,882 INFO L153 SettingsManager]: * Size of a code block=OneNontrivialStatement [2025-01-03 21:47:44,882 INFO L153 SettingsManager]: * Add additional assume for each assert=false [2025-01-03 21:47:44,883 INFO L151 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2025-01-03 21:47:44,883 INFO L153 SettingsManager]: * Conditional Independence=SUFFICIENT [2025-01-03 21:47:44,883 INFO L151 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2025-01-03 21:47:44,883 INFO L153 SettingsManager]: * Save file in source directory=true [2025-01-03 21:47:44,883 INFO L153 SettingsManager]: * Use automatic naming=true [2025-01-03 21:47:44,883 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 -> GOLEM Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Use nondeterministic sleep update encoding -> true [2025-01-03 21:47:45,176 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-03 21:47:45,185 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-03 21:47:45,187 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-03 21:47:45,188 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2025-01-03 21:47:45,190 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2025-01-03 21:47:45,191 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 21:47:45,191 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 21:47:45,213 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-03 21:47:45,214 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2025-01-03 21:47:45,215 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-03 21:47:45,215 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-03 21:47:45,216 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-03 21:47:45,228 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,229 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,232 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,233 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,235 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,235 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,238 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,238 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,239 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,240 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-03 21:47:45,242 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-03 21:47:45,242 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-03 21:47:45,242 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-03 21:47:45,243 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:47:45" (1/1) ... [2025-01-03 21:47:45,247 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-03 21:47:45,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2025-01-03 21:47:45,269 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 21:47:45,274 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 21:47:45,302 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2025-01-03 21:47:45,302 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2025-01-03 21:47:45,302 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2025-01-03 21:47:45,303 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2025-01-03 21:47:45,303 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-03 21:47:45,303 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-03 21:47:45,346 INFO L234 CfgBuilder]: Building ICFG [2025-01-03 21:47:45,349 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-03 21:47:45,420 INFO L? ?]: Removed 5 outVars from TransFormulas that were not future-live. [2025-01-03 21:47:45,420 INFO L283 CfgBuilder]: Performing block encoding [2025-01-03 21:47:45,434 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-03 21:47:45,434 INFO L312 CfgBuilder]: Removed 2 assume(true) statements. [2025-01-03 21:47:45,434 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.01 09:47:45 BoogieIcfgContainer [2025-01-03 21:47:45,435 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-03 21:47:45,435 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2025-01-03 21:47:45,435 INFO L270 PluginConnector]: Initializing IcfgToChc... [2025-01-03 21:47:45,435 INFO L274 PluginConnector]: IcfgToChc initialized [2025-01-03 21:47:45,437 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 09:47:45" (1/1) ... [2025-01-03 21:47:45,534 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 21:47:45,562 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2025-01-03 21:47:45,595 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 21:47:45,618 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2025-01-03 21:47:45,643 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:45,662 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:45,682 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:45,685 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:47:45,694 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2025-01-03 21:47:45,701 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 21:47:45,709 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2025-01-03 21:47:45,716 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:45,724 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:45,732 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:45,735 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2025-01-03 21:47:45,742 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2025-01-03 21:47:45,748 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2025-01-03 21:47:45,754 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2025-01-03 21:47:45,760 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:45,768 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:45,775 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:45,783 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2025-01-03 21:47:45,799 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2025-01-03 21:47:45,819 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2025-01-03 21:47:45,839 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2025-01-03 21:47:45,862 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:45,881 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:45,900 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:45,929 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2025-01-03 21:47:45,947 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2025-01-03 21:47:45,967 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2025-01-03 21:47:45,979 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2025-01-03 21:47:45,990 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,002 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,013 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:46,020 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2025-01-03 21:47:46,032 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2025-01-03 21:47:46,044 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2025-01-03 21:47:46,064 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2025-01-03 21:47:46,077 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,091 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,136 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 21:47:46,166 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 21:47:46,175 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2025-01-03 21:47:46,197 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (not (= ULTIMATE.start_~~right~~idx current)) [2025-01-03 21:47:46,210 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2025-01-03 21:47:46,220 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2025-01-03 21:47:46,233 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,250 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,263 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:46,278 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2025-01-03 21:47:46,294 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2025-01-03 21:47:46,302 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2025-01-03 21:47:46,308 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2025-01-03 21:47:46,320 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2025-01-03 21:47:46,333 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2025-01-03 21:47:46,345 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2025-01-03 21:47:46,358 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2025-01-03 21:47:46,370 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2025-01-03 21:47:46,383 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2025-01-03 21:47:46,395 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2025-01-03 21:47:46,405 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,419 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,430 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:46,443 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2025-01-03 21:47:46,454 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2025-01-03 21:47:46,464 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 21:47:46,470 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2025-01-03 21:47:46,477 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 21:47:46,489 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2025-01-03 21:47:46,499 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2025-01-03 21:47:46,507 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 21:47:46,518 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2025-01-03 21:47:46,527 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 21:47:46,539 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2025-01-03 21:47:46,547 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,565 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,576 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:46,584 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2025-01-03 21:47:46,589 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2025-01-03 21:47:46,594 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:47:46,595 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2025-01-03 21:47:46,600 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 21:47:46,606 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2025-01-03 21:47:46,613 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2025-01-03 21:47:46,617 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:47:46,622 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2025-01-03 21:47:46,627 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 21:47:46,633 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2025-01-03 21:47:46,637 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,643 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,649 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:46,663 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2025-01-03 21:47:46,675 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2025-01-03 21:47:46,680 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2025-01-03 21:47:46,689 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2025-01-03 21:47:46,699 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2025-01-03 21:47:46,714 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2025-01-03 21:47:46,725 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2025-01-03 21:47:46,731 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2025-01-03 21:47:46,742 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2025-01-03 21:47:46,755 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2025-01-03 21:47:46,766 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2025-01-03 21:47:46,776 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,787 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,808 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:46,821 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2025-01-03 21:47:46,831 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2025-01-03 21:47:46,835 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2025-01-03 21:47:46,842 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2025-01-03 21:47:46,856 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2025-01-03 21:47:46,870 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2025-01-03 21:47:46,890 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 21:47:46,911 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 21:47:46,917 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2025-01-03 21:47:46,927 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2025-01-03 21:47:46,935 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2025-01-03 21:47:46,945 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2025-01-03 21:47:46,957 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:46,967 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2025-01-03 21:47:46,975 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:46,988 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2025-01-03 21:47:46,999 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2025-01-03 21:47:47,006 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2025-01-03 21:47:47,012 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2025-01-03 21:47:47,023 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2025-01-03 21:47:47,034 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2025-01-03 21:47:47,044 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2025-01-03 21:47:47,051 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2025-01-03 21:47:47,067 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2025-01-03 21:47:47,079 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2025-01-03 21:47:47,090 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2025-01-03 21:47:47,099 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:47,109 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:47,118 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:47,129 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2025-01-03 21:47:47,138 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2025-01-03 21:47:47,142 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2025-01-03 21:47:47,146 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2025-01-03 21:47:47,155 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2025-01-03 21:47:47,164 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2025-01-03 21:47:47,173 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2025-01-03 21:47:47,178 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2025-01-03 21:47:47,187 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2025-01-03 21:47:47,195 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2025-01-03 21:47:47,203 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2025-01-03 21:47:47,215 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2025-01-03 21:47:47,228 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2025-01-03 21:47:47,237 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2025-01-03 21:47:47,255 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 09:47:47 HornClauseAST [2025-01-03 21:47:47,256 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2025-01-03 21:47:47,256 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2025-01-03 21:47:47,256 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2025-01-03 21:47:47,256 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2025-01-03 21:47:47,257 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 09:47:47" (1/1) ... [2025-01-03 21:47:47,258 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_UID16347095732899305040.smt2 [2025-01-03 21:47:47,274 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2025-01-03 21:47:47,274 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2025-01-03 21:47:47,274 INFO L270 PluginConnector]: Initializing ChcSolver... [2025-01-03 21:47:47,274 INFO L274 PluginConnector]: ChcSolver initialized [2025-01-03 21:47:47,276 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 09:47:47" (1/1) ... [2025-01-03 21:47:47,276 INFO L89 GolemChcScript]: Writing script to file /tmp/golem_17499439776920269098.smt2 [2025-01-03 21:47:47,283 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem [2025-01-03 21:47:47,288 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_17499439776920269098.smt2 (exit command is null, workingDir is null) [2025-01-03 21:47:47,295 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_17499439776920269098.smt2 (2)] Ended with exit code 134 [2025-01-03 21:47:47,298 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_17499439776920269098.smt2 (2)] Waiting until timeout for monitored process [2025-01-03 21:47:47,298 WARN L259 Executor]: golem (MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_17499439776920269098.smt2 (2) without exit command) stderr output: terminate called after throwing an instance of 'OsmtApiException' what(): Error in Logic: mkUninterpFun called with interpreted symbol store [2025-01-03 21:47:47,299 FATAL L? ?]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: golem (MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_17499439776920269098.smt2 (2) without exit command) Received EOF on stdin. stderr output: terminate called after throwing an instance of 'OsmtApiException' what(): Error in Logic: mkUninterpFun called with interpreted symbol store at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:272) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:291) at de.uni_freiburg.informatik.ultimate.lib.chc.GolemChcScript.solve(GolemChcScript.java:108) at de.uni_freiburg.informatik.ultimate.lib.chc.GolemChcScript.solve(GolemChcScript.java:80) at de.uni_freiburg.informatik.ultimate.plugins.chcsolver.ChcSolverObserver.process(ChcSolverObserver.java:88) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.DFSTreeWalker.runObserver(DFSTreeWalker.java:65) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:166) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) 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:1518) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:701) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:383) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:268) ... 17 more [2025-01-03 21:47:47,305 INFO L158 Benchmark]: Toolchain (without parser) took 2089.93ms. Allocated memory is still 167.8MB. Free memory was 147.8MB in the beginning and 92.0MB in the end (delta: 55.9MB). Peak memory consumption was 52.4MB. Max. memory is 22.0GB. [2025-01-03 21:47:47,305 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.21ms. Allocated memory is still 167.8MB. Free memory was 148.7MB in the beginning and 148.7MB in the end (delta: 17.0kB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 21:47:47,305 INFO L158 Benchmark]: Boogie Preprocessor took 24.93ms. Allocated memory is still 167.8MB. Free memory was 147.8MB in the beginning and 146.4MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 21:47:47,308 INFO L158 Benchmark]: RCFGBuilder took 193.11ms. Allocated memory is still 167.8MB. Free memory was 146.3MB in the beginning and 138.4MB in the end (delta: 8.0MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 21:47:47,308 INFO L158 Benchmark]: IcfgToChc took 1820.45ms. Allocated memory is still 167.8MB. Free memory was 138.3MB in the beginning and 99.2MB in the end (delta: 39.1MB). Peak memory consumption was 70.9MB. Max. memory is 22.0GB. [2025-01-03 21:47:47,309 INFO L158 Benchmark]: ChcSmtPrinter took 17.73ms. Allocated memory is still 167.8MB. Free memory was 99.2MB in the beginning and 94.1MB in the end (delta: 5.1MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. [2025-01-03 21:47:47,309 INFO L158 Benchmark]: ChcSolver took 29.31ms. Allocated memory is still 167.8MB. Free memory was 94.1MB in the beginning and 92.0MB in the end (delta: 2.1MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 21:47:47,310 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.21ms. Allocated memory is still 167.8MB. Free memory was 148.7MB in the beginning and 148.7MB in the end (delta: 17.0kB). There was no memory consumed. Max. memory is 22.0GB. * Boogie Preprocessor took 24.93ms. Allocated memory is still 167.8MB. Free memory was 147.8MB in the beginning and 146.4MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. * RCFGBuilder took 193.11ms. Allocated memory is still 167.8MB. Free memory was 146.3MB in the beginning and 138.4MB in the end (delta: 8.0MB). There was no memory consumed. Max. memory is 22.0GB. * IcfgToChc took 1820.45ms. Allocated memory is still 167.8MB. Free memory was 138.3MB in the beginning and 99.2MB in the end (delta: 39.1MB). Peak memory consumption was 70.9MB. Max. memory is 22.0GB. * ChcSmtPrinter took 17.73ms. Allocated memory is still 167.8MB. Free memory was 99.2MB in the beginning and 94.1MB in the end (delta: 5.1MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. * ChcSolver took 29.31ms. Allocated memory is still 167.8MB. Free memory was 94.1MB in the beginning and 92.0MB in the end (delta: 2.1MB). There was no memory consumed. Max. memory is 22.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.chcsolver: - ExceptionOrErrorResult: SMTLIBException: golem (MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_17499439776920269098.smt2 (2) without exit command) Received EOF on stdin. stderr output: terminate called after throwing an instance of 'OsmtApiException' what(): Error in Logic: mkUninterpFun called with interpreted symbol store de.uni_freiburg.informatik.ultimate.plugins.chcsolver: SMTLIBException: golem (MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_17499439776920269098.smt2 (2) without exit command) Received EOF on stdin. stderr output: terminate called after throwing an instance of 'OsmtApiException' what(): Error in Logic: mkUninterpFun called with interpreted symbol store : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:272) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2025-01-03 21:47:47,328 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...