/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 -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-19 19:14:29,822 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-12-19 19:14:29,867 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-19 19:14:29,874 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-12-19 19:14:29,874 INFO L151 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * Produce CHC model if query is SAT=false [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * CHC solver backend=Z3 [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * Produce derivation if query is UNSAT=false [2024-12-19 19:14:29,875 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * Size of a code block=OneNontrivialStatement [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * Add additional assume for each assert=false [2024-12-19 19:14:29,875 INFO L151 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * Conditional Independence=SUFFICIENT [2024-12-19 19:14:29,875 INFO L151 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * Save file in source directory=true [2024-12-19 19:14:29,875 INFO L153 SettingsManager]: * Use automatic naming=true [2024-12-19 19:14:29,876 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 [2024-12-19 19:14:30,069 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-12-19 19:14:30,076 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-12-19 19:14:30,078 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-12-19 19:14:30,078 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2024-12-19 19:14:30,079 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2024-12-19 19:14:30,081 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-19 19:14:30,081 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/notify-listeners/notify-listeners.bpl' [2024-12-19 19:14:30,092 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-12-19 19:14:30,093 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-12-19 19:14:30,093 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-12-19 19:14:30,093 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-12-19 19:14:30,093 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-12-19 19:14:30,102 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,102 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,105 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,105 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,106 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,106 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,108 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,108 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,109 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,109 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-12-19 19:14:30,110 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-12-19 19:14:30,110 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-12-19 19:14:30,110 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-12-19 19:14:30,110 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,113 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-12-19 19:14:30,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-19 19:14:30,133 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-19 19:14:30,141 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-19 19:14:30,155 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2024-12-19 19:14:30,155 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2024-12-19 19:14:30,155 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2024-12-19 19:14:30,155 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2024-12-19 19:14:30,155 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-12-19 19:14:30,155 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-12-19 19:14:30,185 INFO L234 CfgBuilder]: Building ICFG [2024-12-19 19:14:30,186 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2024-12-19 19:14:30,238 INFO L? ?]: Removed 5 outVars from TransFormulas that were not future-live. [2024-12-19 19:14:30,238 INFO L283 CfgBuilder]: Performing block encoding [2024-12-19 19:14:30,246 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-12-19 19:14:30,246 INFO L312 CfgBuilder]: Removed 2 assume(true) statements. [2024-12-19 19:14:30,247 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 07:14:30 BoogieIcfgContainer [2024-12-19 19:14:30,247 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-12-19 19:14:30,247 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2024-12-19 19:14:30,247 INFO L270 PluginConnector]: Initializing IcfgToChc... [2024-12-19 19:14:30,248 INFO L274 PluginConnector]: IcfgToChc initialized [2024-12-19 19:14:30,249 INFO L184 PluginConnector]: Executing the observer IcfgToChcObserver from plugin IcfgToChc for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 07:14:30" (1/1) ... [2024-12-19 19:14:30,324 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2024-12-19 19:14:30,360 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2024-12-19 19:14:30,374 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2024-12-19 19:14:30,388 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2024-12-19 19:14:30,414 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,428 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,444 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:30,446 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2024-12-19 19:14:30,457 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2024-12-19 19:14:30,462 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2024-12-19 19:14:30,469 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2024-12-19 19:14:30,477 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,483 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,490 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:30,495 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2024-12-19 19:14:30,501 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2024-12-19 19:14:30,508 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2024-12-19 19:14:30,514 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2024-12-19 19:14:30,518 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,524 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,528 INFO L161 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:30,535 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2024-12-19 19:14:30,548 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2024-12-19 19:14:30,558 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2024-12-19 19:14:30,570 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2024-12-19 19:14:30,582 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,593 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,603 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:30,608 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2024-12-19 19:14:30,617 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2024-12-19 19:14:30,626 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2024-12-19 19:14:30,634 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2024-12-19 19:14:30,644 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,653 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,662 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:30,668 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2024-12-19 19:14:30,678 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2024-12-19 19:14:30,687 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2024-12-19 19:14:30,696 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2024-12-19 19:14:30,705 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,715 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,752 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 [2024-12-19 19:14:30,771 INFO L161 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'msg := notifications[idx];' is: (not (= ULTIMATE.start_~~right~~idx current)) [2024-12-19 19:14:30,778 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2024-12-19 19:14:30,797 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (not (= ULTIMATE.start_~~right~~idx current)) [2024-12-19 19:14:30,809 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2024-12-19 19:14:30,819 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2024-12-19 19:14:30,827 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,840 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,850 INFO L161 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:30,859 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2024-12-19 19:14:30,867 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2024-12-19 19:14:30,871 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2024-12-19 19:14:30,875 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2024-12-19 19:14:30,883 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2024-12-19 19:14:30,891 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2024-12-19 19:14:30,903 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2024-12-19 19:14:30,914 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2024-12-19 19:14:30,921 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2024-12-19 19:14:30,928 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2024-12-19 19:14:30,936 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2024-12-19 19:14:30,944 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:30,956 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:30,964 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:30,976 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2024-12-19 19:14:31,008 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2024-12-19 19:14:31,011 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2024-12-19 19:14:31,015 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2024-12-19 19:14:31,021 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2024-12-19 19:14:31,028 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2024-12-19 19:14:31,035 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2024-12-19 19:14:31,040 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2024-12-19 19:14:31,047 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2024-12-19 19:14:31,053 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2024-12-19 19:14:31,060 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2024-12-19 19:14:31,066 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:31,074 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:31,081 INFO L161 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:31,085 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2024-12-19 19:14:31,089 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2024-12-19 19:14:31,090 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2024-12-19 19:14:31,091 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2024-12-19 19:14:31,094 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2024-12-19 19:14:31,098 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2024-12-19 19:14:31,102 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2024-12-19 19:14:31,103 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2024-12-19 19:14:31,107 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2024-12-19 19:14:31,110 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2024-12-19 19:14:31,113 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2024-12-19 19:14:31,117 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:31,120 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:31,124 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:31,133 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2024-12-19 19:14:31,140 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2024-12-19 19:14:31,144 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2024-12-19 19:14:31,147 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2024-12-19 19:14:31,154 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2024-12-19 19:14:31,163 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2024-12-19 19:14:31,171 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2024-12-19 19:14:31,175 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2024-12-19 19:14:31,183 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2024-12-19 19:14:31,190 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2024-12-19 19:14:31,197 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2024-12-19 19:14:31,204 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:31,212 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:31,220 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:31,230 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2024-12-19 19:14:31,237 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2024-12-19 19:14:31,241 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2024-12-19 19:14:31,244 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2024-12-19 19:14:31,251 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2024-12-19 19:14:31,258 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2024-12-19 19:14:31,267 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 [2024-12-19 19:14:31,279 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'notifications := notifications[current := data];' is: (not (= ULTIMATE.start_~~left~~idx current)) [2024-12-19 19:14:31,284 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2024-12-19 19:14:31,291 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2024-12-19 19:14:31,297 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2024-12-19 19:14:31,304 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2024-12-19 19:14:31,311 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:31,318 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2024-12-19 19:14:31,325 INFO L161 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:31,333 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2024-12-19 19:14:31,340 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2024-12-19 19:14:31,344 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2024-12-19 19:14:31,347 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2024-12-19 19:14:31,354 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2024-12-19 19:14:31,361 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2024-12-19 19:14:31,369 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2024-12-19 19:14:31,373 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2024-12-19 19:14:31,381 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2024-12-19 19:14:31,388 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2024-12-19 19:14:31,396 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2024-12-19 19:14:31,403 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:31,412 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:31,420 INFO L161 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:31,429 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2024-12-19 19:14:31,436 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2024-12-19 19:14:31,440 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2024-12-19 19:14:31,443 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2024-12-19 19:14:31,450 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2024-12-19 19:14:31,456 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2024-12-19 19:14:31,463 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2024-12-19 19:14:31,467 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2024-12-19 19:14:31,474 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2024-12-19 19:14:31,480 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2024-12-19 19:14:31,487 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2024-12-19 19:14:31,492 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2024-12-19 19:14:31,499 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2024-12-19 19:14:31,505 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2024-12-19 19:14:31,527 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 19.12 07:14:31 HornClauseAST [2024-12-19 19:14:31,528 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2024-12-19 19:14:31,528 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2024-12-19 19:14:31,528 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2024-12-19 19:14:31,528 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2024-12-19 19:14:31,529 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 19.12 07:14:31" (1/1) ... [2024-12-19 19:14:31,530 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_UID14038989117060719053.smt2 [2024-12-19 19:14:31,546 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2024-12-19 19:14:31,547 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2024-12-19 19:14:31,547 INFO L270 PluginConnector]: Initializing ChcSolver... [2024-12-19 19:14:31,547 INFO L274 PluginConnector]: ChcSolver initialized [2024-12-19 19:14:31,548 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 19.12 07:14:31" (1/1) ... [2024-12-19 19:14:31,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-12-19 19:14:31,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-19 19:14:31,550 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-19 19:14:31,552 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-19 19:14:31,558 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2024-12-19 19:14:31,558 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-19 19:14:31,560 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-19 19:14:31,580 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-19 19:21:30,177 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-19 19:21:30,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2024-12-19 19:21:30,179 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-19 19:21:30,180 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-19 19:21:30,183 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.chcsolver OTHER 19.12 07:21:30 ChcSolution [2024-12-19 19:21:30,183 INFO L131 PluginConnector]: ------------------------ END ChcSolver---------------------------- [2024-12-19 19:21:30,184 INFO L158 Benchmark]: Toolchain (without parser) took 420091.41ms. Allocated memory is still 234.9MB. Free memory was 143.7MB in the beginning and 182.7MB in the end (delta: -39.0MB). Peak memory consumption was 54.9MB. Max. memory is 22.0GB. [2024-12-19 19:21:30,185 INFO L158 Benchmark]: Boogie PL CUP Parser took 1.04ms. Allocated memory is still 234.9MB. Free memory is still 143.7MB. There was no memory consumed. Max. memory is 22.0GB. [2024-12-19 19:21:30,185 INFO L158 Benchmark]: Boogie Preprocessor took 16.09ms. Allocated memory is still 234.9MB. Free memory was 143.7MB in the beginning and 141.3MB in the end (delta: 2.4MB). There was no memory consumed. Max. memory is 22.0GB. [2024-12-19 19:21:30,185 INFO L158 Benchmark]: RCFGBuilder took 137.19ms. Allocated memory is still 234.9MB. Free memory was 141.3MB in the beginning and 131.5MB in the end (delta: 9.8MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. [2024-12-19 19:21:30,185 INFO L158 Benchmark]: IcfgToChc took 1280.14ms. Allocated memory is still 234.9MB. Free memory was 131.5MB in the beginning and 107.3MB in the end (delta: 24.1MB). Peak memory consumption was 71.7MB. Max. memory is 22.0GB. [2024-12-19 19:21:30,185 INFO L158 Benchmark]: ChcSmtPrinter took 18.36ms. Allocated memory is still 234.9MB. Free memory was 107.3MB in the beginning and 103.7MB in the end (delta: 3.6MB). There was no memory consumed. Max. memory is 22.0GB. [2024-12-19 19:21:30,186 INFO L158 Benchmark]: ChcSolver took 418636.71ms. Allocated memory is still 234.9MB. Free memory was 103.7MB in the beginning and 182.7MB in the end (delta: -79.0MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. [2024-12-19 19:21:30,187 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 1.04ms. Allocated memory is still 234.9MB. Free memory is still 143.7MB. There was no memory consumed. Max. memory is 22.0GB. * Boogie Preprocessor took 16.09ms. Allocated memory is still 234.9MB. Free memory was 143.7MB in the beginning and 141.3MB in the end (delta: 2.4MB). There was no memory consumed. Max. memory is 22.0GB. * RCFGBuilder took 137.19ms. Allocated memory is still 234.9MB. Free memory was 141.3MB in the beginning and 131.5MB in the end (delta: 9.8MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. * IcfgToChc took 1280.14ms. Allocated memory is still 234.9MB. Free memory was 131.5MB in the beginning and 107.3MB in the end (delta: 24.1MB). Peak memory consumption was 71.7MB. Max. memory is 22.0GB. * ChcSmtPrinter took 18.36ms. Allocated memory is still 234.9MB. Free memory was 107.3MB in the beginning and 103.7MB in the end (delta: 3.6MB). There was no memory consumed. Max. memory is 22.0GB. * ChcSolver took 418636.71ms. Allocated memory is still 234.9MB. Free memory was 103.7MB in the beginning and 182.7MB in the end (delta: -79.0MB). 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-19 19:21:30,195 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-19 19:21:30,397 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...