/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 Z3 --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 [2024-12-31 13:58:42,088 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-12-31 13:58:42,187 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/../ThreadModularVerifier.Settings.epf [2024-12-31 13:58:42,205 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-12-31 13:58:42,206 INFO L151 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2024-12-31 13:58:42,206 INFO L153 SettingsManager]: * Produce CHC model if query is SAT=false [2024-12-31 13:58:42,206 INFO L153 SettingsManager]: * CHC solver backend=Z3 [2024-12-31 13:58:42,206 INFO L153 SettingsManager]: * Produce derivation if query is UNSAT=false [2024-12-31 13:58:42,211 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-12-31 13:58:42,211 INFO L153 SettingsManager]: * Size of a code block=OneNontrivialStatement [2024-12-31 13:58:42,212 INFO L153 SettingsManager]: * Add additional assume for each assert=false [2024-12-31 13:58:42,212 INFO L151 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2024-12-31 13:58:42,212 INFO L153 SettingsManager]: * Conditional Independence=SUFFICIENT [2024-12-31 13:58:42,212 INFO L151 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2024-12-31 13:58:42,212 INFO L153 SettingsManager]: * Save file in source directory=true [2024-12-31 13:58:42,212 INFO L153 SettingsManager]: * Use automatic naming=true [2024-12-31 13:58:42,212 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 -> Z3 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 [2024-12-31 13:58:42,447 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-12-31 13:58:42,452 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-12-31 13:58:42,453 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-12-31 13:58:42,454 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2024-12-31 13:58:42,454 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2024-12-31 13:58:42,454 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 [2024-12-31 13:58:42,455 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/notify-listeners.bpl' [2024-12-31 13:58:42,465 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-12-31 13:58:42,466 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-12-31 13:58:42,466 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-12-31 13:58:42,467 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-12-31 13:58:42,467 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-12-31 13:58:42,475 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,476 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,478 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,478 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,479 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,480 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,481 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,481 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,481 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,482 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-12-31 13:58:42,482 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-12-31 13:58:42,482 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-12-31 13:58:42,483 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-12-31 13:58:42,483 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-12-31 13:58:42,493 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-31 13:58:42,502 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) [2024-12-31 13:58:42,504 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 [2024-12-31 13:58:42,519 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2024-12-31 13:58:42,519 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2024-12-31 13:58:42,519 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2024-12-31 13:58:42,519 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2024-12-31 13:58:42,519 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-12-31 13:58:42,519 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-12-31 13:58:42,551 INFO L234 CfgBuilder]: Building ICFG [2024-12-31 13:58:42,553 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2024-12-31 13:58:42,607 INFO L? ?]: Removed 5 outVars from TransFormulas that were not future-live. [2024-12-31 13:58:42,607 INFO L283 CfgBuilder]: Performing block encoding [2024-12-31 13:58:42,613 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-12-31 13:58:42,613 INFO L312 CfgBuilder]: Removed 2 assume(true) statements. [2024-12-31 13:58:42,613 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.12 01:58:42 BoogieIcfgContainer [2024-12-31 13:58:42,614 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-12-31 13:58:42,614 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2024-12-31 13:58:42,614 INFO L270 PluginConnector]: Initializing IcfgToChc... [2024-12-31 13:58:42,614 INFO L274 PluginConnector]: IcfgToChc initialized [2024-12-31 13:58:42,615 INFO L184 PluginConnector]: Executing the observer IcfgToChcObserver from plugin IcfgToChc for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.12 01:58:42" (1/1) ... [2024-12-31 13:58:42,660 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2024-12-31 13:58:42,678 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2024-12-31 13:58:42,698 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2024-12-31 13:58:42,719 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2024-12-31 13:58:42,728 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:42,743 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:42,754 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:42,755 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2024-12-31 13:58:42,758 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2024-12-31 13:58:42,761 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2024-12-31 13:58:42,764 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2024-12-31 13:58:42,767 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:42,770 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:42,772 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:42,774 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2024-12-31 13:58:42,776 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2024-12-31 13:58:42,779 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2024-12-31 13:58:42,781 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2024-12-31 13:58:42,784 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:42,787 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:42,789 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:42,792 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2024-12-31 13:58:42,799 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2024-12-31 13:58:42,806 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2024-12-31 13:58:42,812 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2024-12-31 13:58:42,819 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:42,826 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:42,832 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:42,835 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2024-12-31 13:58:42,848 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2024-12-31 13:58:42,855 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2024-12-31 13:58:42,889 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2024-12-31 13:58:42,895 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:42,901 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:42,911 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:42,917 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2024-12-31 13:58:42,927 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2024-12-31 13:58:42,936 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2024-12-31 13:58:42,944 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2024-12-31 13:58:42,953 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:42,965 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2024-12-31 13:58:42,981 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)) [2024-12-31 13:58:42,987 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2024-12-31 13:58:42,999 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (not (= ULTIMATE.start_~~right~~idx current)) [2024-12-31 13:58:43,007 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2024-12-31 13:58:43,014 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2024-12-31 13:58:43,022 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,030 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,038 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,045 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2024-12-31 13:58:43,053 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2024-12-31 13:58:43,055 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2024-12-31 13:58:43,058 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2024-12-31 13:58:43,077 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2024-12-31 13:58:43,084 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2024-12-31 13:58:43,089 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2024-12-31 13:58:43,098 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2024-12-31 13:58:43,103 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2024-12-31 13:58:43,107 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2024-12-31 13:58:43,111 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2024-12-31 13:58:43,115 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,120 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,124 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,129 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2024-12-31 13:58:43,134 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2024-12-31 13:58:43,135 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2024-12-31 13:58:43,137 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2024-12-31 13:58:43,140 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2024-12-31 13:58:43,145 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2024-12-31 13:58:43,149 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2024-12-31 13:58:43,151 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2024-12-31 13:58:43,155 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2024-12-31 13:58:43,159 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2024-12-31 13:58:43,163 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2024-12-31 13:58:43,166 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,171 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,175 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,178 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2024-12-31 13:58:43,179 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2024-12-31 13:58:43,180 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2024-12-31 13:58:43,180 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2024-12-31 13:58:43,182 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2024-12-31 13:58:43,188 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2024-12-31 13:58:43,190 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2024-12-31 13:58:43,191 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2024-12-31 13:58:43,194 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2024-12-31 13:58:43,197 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2024-12-31 13:58:43,199 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2024-12-31 13:58:43,201 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,203 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,205 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,212 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2024-12-31 13:58:43,219 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2024-12-31 13:58:43,220 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2024-12-31 13:58:43,222 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2024-12-31 13:58:43,229 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2024-12-31 13:58:43,234 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2024-12-31 13:58:43,238 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2024-12-31 13:58:43,241 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2024-12-31 13:58:43,248 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2024-12-31 13:58:43,252 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2024-12-31 13:58:43,255 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2024-12-31 13:58:43,260 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,265 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,269 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,275 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2024-12-31 13:58:43,279 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2024-12-31 13:58:43,283 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2024-12-31 13:58:43,285 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2024-12-31 13:58:43,289 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2024-12-31 13:58:43,293 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2024-12-31 13:58:43,298 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)) [2024-12-31 13:58:43,306 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2024-12-31 13:58:43,310 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2024-12-31 13:58:43,315 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2024-12-31 13:58:43,323 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2024-12-31 13:58:43,329 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,334 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,338 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,345 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2024-12-31 13:58:43,351 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2024-12-31 13:58:43,356 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2024-12-31 13:58:43,358 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2024-12-31 13:58:43,362 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2024-12-31 13:58:43,367 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2024-12-31 13:58:43,371 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2024-12-31 13:58:43,374 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2024-12-31 13:58:43,380 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2024-12-31 13:58:43,385 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2024-12-31 13:58:43,389 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2024-12-31 13:58:43,393 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,397 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,401 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,406 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2024-12-31 13:58:43,409 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2024-12-31 13:58:43,411 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2024-12-31 13:58:43,412 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2024-12-31 13:58:43,416 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2024-12-31 13:58:43,421 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2024-12-31 13:58:43,425 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2024-12-31 13:58:43,427 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2024-12-31 13:58:43,430 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2024-12-31 13:58:43,434 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2024-12-31 13:58:43,437 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2024-12-31 13:58:43,441 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2024-12-31 13:58:43,445 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2024-12-31 13:58:43,451 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2024-12-31 13:58:43,486 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 31.12 01:58:43 HornClauseAST [2024-12-31 13:58:43,486 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2024-12-31 13:58:43,486 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2024-12-31 13:58:43,486 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2024-12-31 13:58:43,486 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2024-12-31 13:58:43,487 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 31.12 01:58:43" (1/1) ... [2024-12-31 13:58:43,488 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_UID2082700786366470124.smt2 [2024-12-31 13:58:43,501 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2024-12-31 13:58:43,501 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2024-12-31 13:58:43,501 INFO L270 PluginConnector]: Initializing ChcSolver... [2024-12-31 13:58:43,501 INFO L274 PluginConnector]: ChcSolver initialized [2024-12-31 13:58:43,502 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 31.12 01:58:43" (1/1) ... [2024-12-31 13:58:43,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-12-31 13:58:43,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-31 13:58:43,505 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-12-31 13:58:43,509 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-12-31 13:58:43,512 ERROR L418 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Exception during sending of exit command (exit): Broken pipe [2024-12-31 13:58:43,516 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-12-31 13:58:43,516 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-31 13:58:43,517 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-12-31 13:58:43,518 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-12-31 14:01:45,675 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-12-31 14:01:45,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-31 14:01:45,677 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-12-31 14:01:45,678 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-12-31 14:01:45,681 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.chcsolver OTHER 31.12 02:01:45 ChcSolution [2024-12-31 14:01:45,681 INFO L131 PluginConnector]: ------------------------ END ChcSolver---------------------------- [2024-12-31 14:01:45,682 INFO L158 Benchmark]: Toolchain (without parser) took 183215.83ms. Allocated memory is still 167.8MB. Free memory was 145.2MB in the beginning and 118.0MB in the end (delta: 27.2MB). Peak memory consumption was 19.8MB. Max. memory is 22.0GB. [2024-12-31 14:01:45,683 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.14ms. Allocated memory is still 167.8MB. Free memory is still 146.1MB. There was no memory consumed. Max. memory is 22.0GB. [2024-12-31 14:01:45,683 INFO L158 Benchmark]: Boogie Preprocessor took 15.59ms. Allocated memory is still 167.8MB. Free memory was 145.2MB in the beginning and 143.8MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. [2024-12-31 14:01:45,683 INFO L158 Benchmark]: RCFGBuilder took 131.14ms. Allocated memory is still 167.8MB. Free memory was 143.7MB in the beginning and 135.6MB in the end (delta: 8.2MB). There was no memory consumed. Max. memory is 22.0GB. [2024-12-31 14:01:45,683 INFO L158 Benchmark]: IcfgToChc took 871.82ms. Allocated memory is still 167.8MB. Free memory was 135.5MB in the beginning and 145.6MB in the end (delta: -10.1MB). Peak memory consumption was 71.1MB. Max. memory is 22.0GB. [2024-12-31 14:01:45,683 INFO L158 Benchmark]: ChcSmtPrinter took 14.58ms. Allocated memory is still 167.8MB. Free memory was 145.6MB in the beginning and 139.8MB in the end (delta: 5.8MB). There was no memory consumed. Max. memory is 22.0GB. [2024-12-31 14:01:45,684 INFO L158 Benchmark]: ChcSolver took 182180.17ms. Allocated memory is still 167.8MB. Free memory was 139.8MB in the beginning and 118.0MB in the end (delta: 21.8MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. [2024-12-31 14:01:45,685 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 is still 146.1MB. There was no memory consumed. Max. memory is 22.0GB. * Boogie Preprocessor took 15.59ms. Allocated memory is still 167.8MB. Free memory was 145.2MB in the beginning and 143.8MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 22.0GB. * RCFGBuilder took 131.14ms. Allocated memory is still 167.8MB. Free memory was 143.7MB in the beginning and 135.6MB in the end (delta: 8.2MB). There was no memory consumed. Max. memory is 22.0GB. * IcfgToChc took 871.82ms. Allocated memory is still 167.8MB. Free memory was 135.5MB in the beginning and 145.6MB in the end (delta: -10.1MB). Peak memory consumption was 71.1MB. Max. memory is 22.0GB. * ChcSmtPrinter took 14.58ms. Allocated memory is still 167.8MB. Free memory was 145.6MB in the beginning and 139.8MB in the end (delta: 5.8MB). There was no memory consumed. Max. memory is 22.0GB. * ChcSolver took 182180.17ms. Allocated memory is still 167.8MB. Free memory was 139.8MB in the beginning and 118.0MB in the end (delta: 21.8MB). 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. [2024-12-31 14:01:45,694 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-12-31 14:01:45,896 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...