/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 --icfgtochc.use.nondeterministic.sleep.update.encoding true --icfgtochc.conditional.independence NECESSARY_AND_SUFFICIENT -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 23:50:38,352 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-03 23:50:38,437 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 23:50:38,446 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-03 23:50:38,448 INFO L151 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2025-01-03 23:50:38,448 INFO L153 SettingsManager]: * Produce CHC model if query is SAT=false [2025-01-03 23:50:38,448 INFO L153 SettingsManager]: * CHC solver backend=Z3 [2025-01-03 23:50:38,448 INFO L153 SettingsManager]: * Produce derivation if query is UNSAT=false [2025-01-03 23:50:38,448 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-03 23:50:38,448 INFO L153 SettingsManager]: * Size of a code block=OneNontrivialStatement [2025-01-03 23:50:38,449 INFO L153 SettingsManager]: * Add additional assume for each assert=false [2025-01-03 23:50:38,449 INFO L151 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2025-01-03 23:50:38,449 INFO L153 SettingsManager]: * Conditional Independence=SUFFICIENT [2025-01-03 23:50:38,449 INFO L151 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2025-01-03 23:50:38,450 INFO L153 SettingsManager]: * Save file in source directory=true [2025-01-03 23:50:38,450 INFO L153 SettingsManager]: * Use automatic naming=true [2025-01-03 23:50:38,450 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 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Use nondeterministic sleep update encoding -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Conditional Independence -> NECESSARY_AND_SUFFICIENT [2025-01-03 23:50:38,681 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-03 23:50:38,686 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-03 23:50:38,687 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-03 23:50:38,687 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2025-01-03 23:50:38,688 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2025-01-03 23:50:38,689 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 23:50:38,689 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 23:50:38,699 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-03 23:50:38,700 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2025-01-03 23:50:38,701 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-03 23:50:38,701 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-03 23:50:38,701 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-03 23:50:38,709 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,710 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,713 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,713 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,714 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,714 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,716 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,716 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,716 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,717 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-03 23:50:38,717 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-03 23:50:38,717 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-03 23:50:38,717 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-03 23:50:38,718 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 11:50:38" (1/1) ... [2025-01-03 23:50:38,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-03 23:50:38,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2025-01-03 23:50:38,736 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 23:50:38,741 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 23:50:38,755 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2025-01-03 23:50:38,755 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2025-01-03 23:50:38,755 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2025-01-03 23:50:38,755 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2025-01-03 23:50:38,756 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-03 23:50:38,756 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-03 23:50:38,786 INFO L234 CfgBuilder]: Building ICFG [2025-01-03 23:50:38,787 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-03 23:50:38,838 INFO L? ?]: Removed 5 outVars from TransFormulas that were not future-live. [2025-01-03 23:50:38,838 INFO L283 CfgBuilder]: Performing block encoding [2025-01-03 23:50:38,849 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-03 23:50:38,849 INFO L312 CfgBuilder]: Removed 2 assume(true) statements. [2025-01-03 23:50:38,849 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.01 11:50:38 BoogieIcfgContainer [2025-01-03 23:50:38,850 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-03 23:50:38,850 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2025-01-03 23:50:38,850 INFO L270 PluginConnector]: Initializing IcfgToChc... [2025-01-03 23:50:38,850 INFO L274 PluginConnector]: IcfgToChc initialized [2025-01-03 23:50:38,852 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 11:50:38" (1/1) ... [2025-01-03 23:50:38,916 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 23:50:38,943 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2025-01-03 23:50:38,955 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 23:50:38,965 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2025-01-03 23:50:38,974 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:38,984 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:38,992 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:38,994 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 23:50:38,997 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2025-01-03 23:50:38,999 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 23:50:39,002 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2025-01-03 23:50:39,005 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,009 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,012 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,013 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2025-01-03 23:50:39,017 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,019 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2025-01-03 23:50:39,022 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2025-01-03 23:50:39,025 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,028 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,031 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,035 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2025-01-03 23:50:39,050 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,064 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2025-01-03 23:50:39,075 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2025-01-03 23:50:39,082 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,093 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,111 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,114 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2025-01-03 23:50:39,121 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,127 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2025-01-03 23:50:39,164 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2025-01-03 23:50:39,172 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,180 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,191 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,198 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2025-01-03 23:50:39,205 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2025-01-03 23:50:39,213 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2025-01-03 23:50:39,221 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2025-01-03 23:50:39,232 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,241 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,260 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'msg := notifications[idx];' is: (= (select (store notifications current notifier_~~left~~data) ULTIMATE.start_~~right~~idx) (select notifications ULTIMATE.start_~~right~~idx)) [2025-01-03 23:50:39,272 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2025-01-03 23:50:39,279 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (not (= ULTIMATE.start_~~right~~idx current)) [2025-01-03 23:50:39,289 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2025-01-03 23:50:39,296 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2025-01-03 23:50:39,308 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,315 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,324 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,332 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2025-01-03 23:50:39,339 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2025-01-03 23:50:39,341 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2025-01-03 23:50:39,343 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2025-01-03 23:50:39,369 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2025-01-03 23:50:39,377 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2025-01-03 23:50:39,383 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2025-01-03 23:50:39,392 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2025-01-03 23:50:39,399 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,404 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2025-01-03 23:50:39,411 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2025-01-03 23:50:39,419 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,425 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,433 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,442 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2025-01-03 23:50:39,447 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2025-01-03 23:50:39,448 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 23:50:39,450 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2025-01-03 23:50:39,454 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 23:50:39,459 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2025-01-03 23:50:39,467 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2025-01-03 23:50:39,469 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2025-01-03 23:50:39,475 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,480 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2025-01-03 23:50:39,484 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2025-01-03 23:50:39,489 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,494 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,499 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,503 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2025-01-03 23:50:39,505 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2025-01-03 23:50:39,506 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 23:50:39,506 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2025-01-03 23:50:39,508 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 23:50:39,514 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2025-01-03 23:50:39,516 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2025-01-03 23:50:39,519 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 23:50:39,521 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,523 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2025-01-03 23:50:39,526 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2025-01-03 23:50:39,527 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,529 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,533 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,541 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2025-01-03 23:50:39,546 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2025-01-03 23:50:39,548 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2025-01-03 23:50:39,550 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2025-01-03 23:50:39,554 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2025-01-03 23:50:39,560 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2025-01-03 23:50:39,565 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2025-01-03 23:50:39,568 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2025-01-03 23:50:39,572 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,576 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2025-01-03 23:50:39,580 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2025-01-03 23:50:39,585 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,591 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,595 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,602 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2025-01-03 23:50:39,606 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2025-01-03 23:50:39,608 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2025-01-03 23:50:39,611 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2025-01-03 23:50:39,628 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2025-01-03 23:50:39,633 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2025-01-03 23:50:39,638 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'notifications := notifications[current := data];' is: (= (select notifications ULTIMATE.start_~~left~~idx) (select (store notifications current notifier_~~right~~data) ULTIMATE.start_~~left~~idx)) [2025-01-03 23:50:39,641 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2025-01-03 23:50:39,646 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2025-01-03 23:50:39,650 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2025-01-03 23:50:39,655 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2025-01-03 23:50:39,660 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,665 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,669 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,674 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2025-01-03 23:50:39,680 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2025-01-03 23:50:39,682 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2025-01-03 23:50:39,684 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2025-01-03 23:50:39,688 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2025-01-03 23:50:39,692 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2025-01-03 23:50:39,696 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2025-01-03 23:50:39,700 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2025-01-03 23:50:39,707 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,713 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2025-01-03 23:50:39,717 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2025-01-03 23:50:39,722 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,727 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,731 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,736 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2025-01-03 23:50:39,741 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2025-01-03 23:50:39,742 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2025-01-03 23:50:39,744 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2025-01-03 23:50:39,747 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2025-01-03 23:50:39,753 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2025-01-03 23:50:39,757 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2025-01-03 23:50:39,759 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2025-01-03 23:50:39,763 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2025-01-03 23:50:39,766 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2025-01-03 23:50:39,770 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2025-01-03 23:50:39,773 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2025-01-03 23:50:39,777 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2025-01-03 23:50:39,781 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2025-01-03 23:50:39,804 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 11:50:39 HornClauseAST [2025-01-03 23:50:39,804 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2025-01-03 23:50:39,805 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2025-01-03 23:50:39,805 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2025-01-03 23:50:39,805 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2025-01-03 23:50:39,805 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 11:50:39" (1/1) ... [2025-01-03 23:50:39,806 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_UID13092583464663691371.smt2 [2025-01-03 23:50:39,828 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2025-01-03 23:50:39,828 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2025-01-03 23:50:39,828 INFO L270 PluginConnector]: Initializing ChcSolver... [2025-01-03 23:50:39,828 INFO L274 PluginConnector]: ChcSolver initialized [2025-01-03 23:50:39,829 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 11:50:39" (1/1) ... [2025-01-03 23:50:39,830 INFO L99 EldaricaCliChcScript]: Writing script to file /tmp/eldarica_1455060240523062714.smt2 [2025-01-03 23:50:39,840 ERROR L181 MonitoredProcess]: Could not determine absolute path of external process, hoping that OS will resolve eld [2025-01-03 23:50:39,840 INFO L189 MonitoredProcess]: No working directory specified, using eld [2025-01-03 23:50:39,846 INFO L229 MonitoredProcess]: Starting monitored process 2 with eld -disj /tmp/eldarica_1455060240523062714.smt2 (exit command is null, workingDir is null) [2025-01-03 23:50:39,848 INFO L327 MonitoredProcess]: [MP eld -disj /tmp/eldarica_1455060240523062714.smt2 (2)] Waiting until timeout for monitored process [2025-01-03 23:53:38,492 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.chcsolver OTHER 03.01 11:53:38 ChcSolution [2025-01-03 23:53:38,492 INFO L131 PluginConnector]: ------------------------ END ChcSolver---------------------------- [2025-01-03 23:53:38,493 INFO L158 Benchmark]: Toolchain (without parser) took 179792.33ms. Allocated memory was 167.8MB in the beginning and 234.9MB in the end (delta: 67.1MB). Free memory was 144.9MB in the beginning and 167.0MB in the end (delta: -22.2MB). Peak memory consumption was 36.3MB. Max. memory is 22.0GB. [2025-01-03 23:53:38,493 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.14ms. Allocated memory is still 167.8MB. Free memory was 145.8MB in the beginning and 145.7MB in the end (delta: 25.6kB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:53:38,494 INFO L158 Benchmark]: Boogie Preprocessor took 16.20ms. Allocated memory is still 167.8MB. Free memory was 144.8MB in the beginning and 143.4MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:53:38,500 INFO L158 Benchmark]: RCFGBuilder took 132.30ms. Allocated memory is still 167.8MB. Free memory was 143.4MB in the beginning and 135.2MB in the end (delta: 8.2MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:53:38,500 INFO L158 Benchmark]: IcfgToChc took 954.19ms. Allocated memory was 167.8MB in the beginning and 234.9MB in the end (delta: 67.1MB). Free memory was 135.2MB in the beginning and 180.2MB in the end (delta: -45.1MB). Peak memory consumption was 36.8MB. Max. memory is 22.0GB. [2025-01-03 23:53:38,501 INFO L158 Benchmark]: ChcSmtPrinter took 23.33ms. Allocated memory is still 234.9MB. Free memory was 180.2MB in the beginning and 174.5MB in the end (delta: 5.7MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. [2025-01-03 23:53:38,501 INFO L158 Benchmark]: ChcSolver took 178663.76ms. Allocated memory is still 234.9MB. Free memory was 174.5MB in the beginning and 167.0MB in the end (delta: 7.5MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:53:38,503 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 145.8MB in the beginning and 145.7MB in the end (delta: 25.6kB). There was no memory consumed. Max. memory is 22.0GB. * Boogie Preprocessor took 16.20ms. Allocated memory is still 167.8MB. Free memory was 144.8MB in the beginning and 143.4MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. * RCFGBuilder took 132.30ms. Allocated memory is still 167.8MB. Free memory was 143.4MB in the beginning and 135.2MB in the end (delta: 8.2MB). There was no memory consumed. Max. memory is 22.0GB. * IcfgToChc took 954.19ms. Allocated memory was 167.8MB in the beginning and 234.9MB in the end (delta: 67.1MB). Free memory was 135.2MB in the beginning and 180.2MB in the end (delta: -45.1MB). Peak memory consumption was 36.8MB. Max. memory is 22.0GB. * ChcSmtPrinter took 23.33ms. Allocated memory is still 234.9MB. Free memory was 180.2MB in the beginning and 174.5MB in the end (delta: 5.7MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. * ChcSolver took 178663.76ms. Allocated memory is still 234.9MB. Free memory was 174.5MB in the beginning and 167.0MB in the end (delta: 7.5MB). There was no memory consumed. 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 23:53:38,514 WARN L435 MonitoredProcess]: [MP eld -disj /tmp/eldarica_1455060240523062714.smt2 (2)] Forcibly destroying the process [2025-01-03 23:53:38,623 INFO L540 MonitoredProcess]: [MP eld -disj /tmp/eldarica_1455060240523062714.smt2 (2)] Forceful destruction successful, exit code 137 [2025-01-03 23:53:38,630 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Ended with exit code 0 Received shutdown request...