/usr/bin/java -Xmx15000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/threadmodular/regression/notify-listeners/ThreadModularVerifier.Settings.epf -tc ../../../trunk/examples/threadmodular/regression/ThreadModularVerifier.xml --chcsolver.chc.solver.backend TREEAUTOMIZER --chcsolver.produce.chc.model.if.query.is.sat false --chcsolver.produce.derivation.if.query.is.unsat false --chcsolver.produce.unsat.core.if.query.is.unsat true --rcfgbuilder.smt.solver Internal_SMTInterpol -i ../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.dk.sleep-threadmodular-5ab1b01-m [2023-07-03 14:51:35,563 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-07-03 14:51:35,620 INFO L100 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/ThreadModularVerifier.Settings.epf [2023-07-03 14:51:35,628 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-07-03 14:51:35,629 INFO L135 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2023-07-03 14:51:35,629 INFO L137 SettingsManager]: * Produce UNSAT core if query is UNSAT=true [2023-07-03 14:51:35,629 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-07-03 14:51:35,629 INFO L137 SettingsManager]: * Size of a code block=OneNontrivialStatement [2023-07-03 14:51:35,630 INFO L137 SettingsManager]: * Add additional assume for each assert=false [2023-07-03 14:51:35,633 INFO L135 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2023-07-03 14:51:35,633 INFO L137 SettingsManager]: * Specification mode=ASSERT_VIOLATIONS [2023-07-03 14:51:35,634 INFO L137 SettingsManager]: * Preference order used for reduction=LOCKSTEP [2023-07-03 14:51:35,634 INFO L137 SettingsManager]: * Single-instance threads=notifier [2023-07-03 14:51:35,635 INFO L137 SettingsManager]: * Assume program has a precondition=false [2023-07-03 14:51:35,635 INFO L137 SettingsManager]: * Conditional Independence=PRECOMPUTED_CONDITIONS [2023-07-03 14:51:35,636 INFO L135 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2023-07-03 14:51:35,636 INFO L137 SettingsManager]: * Save file in source directory=true [2023-07-03 14:51:35,636 INFO L137 SettingsManager]: * Use automatic naming=true [2023-07-03 14:51:35,636 INFO L137 SettingsManager]: * File name=CHC_conditional WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: CHC solver backend -> TREEAUTOMIZER Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: Produce CHC model if query is SAT -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: Produce derivation if query is UNSAT -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: Produce UNSAT core if query is UNSAT -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: SMT solver -> Internal_SMTInterpol [2023-07-03 14:51:35,809 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-07-03 14:51:35,826 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-07-03 14:51:35,829 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-07-03 14:51:35,829 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2023-07-03 14:51:35,830 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2023-07-03 14:51:35,830 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl [2023-07-03 14:51:35,830 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl' [2023-07-03 14:51:35,846 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-07-03 14:51:35,847 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-07-03 14:51:35,848 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-07-03 14:51:35,848 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-07-03 14:51:35,848 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-07-03 14:51:35,859 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,859 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,863 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,863 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,864 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,866 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,866 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,866 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,867 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-07-03 14:51:35,869 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-07-03 14:51:35,869 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-07-03 14:51:35,869 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-07-03 14:51:35,870 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:35,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-07-03 14:51:35,920 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2023-07-03 14:51:35,920 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2023-07-03 14:51:35,920 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2023-07-03 14:51:35,920 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2023-07-03 14:51:35,920 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-07-03 14:51:35,921 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-07-03 14:51:35,942 INFO L236 CfgBuilder]: Building ICFG [2023-07-03 14:51:35,943 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-07-03 14:51:35,988 INFO L277 CfgBuilder]: Performing block encoding [2023-07-03 14:51:35,992 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-07-03 14:51:35,993 INFO L302 CfgBuilder]: Removed 2 assume(true) statements. [2023-07-03 14:51:35,994 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.07 02:51:35 BoogieIcfgContainer [2023-07-03 14:51:35,994 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-07-03 14:51:35,994 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2023-07-03 14:51:35,994 INFO L270 PluginConnector]: Initializing IcfgToChc... [2023-07-03 14:51:35,995 INFO L274 PluginConnector]: IcfgToChc initialized [2023-07-03 14:51:35,996 INFO L184 PluginConnector]: Executing the observer IcfgToChcObserver from plugin IcfgToChc for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.07 02:51:35" (1/1) ... [2023-07-03 14:51:36,218 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 14:51:36,220 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,223 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 14:51:36,225 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 14:51:36,227 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,229 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,232 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,234 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 14:51:36,235 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,236 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 14:51:36,237 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 14:51:36,238 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,249 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,250 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,253 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2023-07-03 14:51:36,254 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,255 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2023-07-03 14:51:36,257 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2023-07-03 14:51:36,258 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,259 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,261 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,263 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2023-07-03 14:51:36,265 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,267 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2023-07-03 14:51:36,268 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2023-07-03 14:51:36,270 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,272 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,274 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,278 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2023-07-03 14:51:36,279 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,281 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2023-07-03 14:51:36,282 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2023-07-03 14:51:36,284 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,286 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,287 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,291 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2023-07-03 14:51:36,293 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2023-07-03 14:51:36,294 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2023-07-03 14:51:36,296 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2023-07-03 14:51:36,298 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,300 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,364 INFO L351 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 [2023-07-03 14:51:36,383 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'msg := notifications[idx];' is: (not (= ULTIMATE.start_~~right~~idx current)) [2023-07-03 14:51:36,387 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2023-07-03 14:51:36,413 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (< ULTIMATE.start_~~right~~idx current) [2023-07-03 14:51:36,419 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2023-07-03 14:51:36,448 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2023-07-03 14:51:36,453 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,455 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,456 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,459 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2023-07-03 14:51:36,460 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2023-07-03 14:51:36,461 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 14:51:36,466 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2023-07-03 14:51:36,467 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 14:51:36,475 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2023-07-03 14:51:36,476 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 14:51:36,483 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 14:51:36,484 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,493 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 14:51:36,495 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2023-07-03 14:51:36,496 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,501 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,502 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,520 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2023-07-03 14:51:36,521 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2023-07-03 14:51:36,521 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 14:51:36,522 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2023-07-03 14:51:36,523 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 14:51:36,524 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2023-07-03 14:51:36,525 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2023-07-03 14:51:36,525 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 14:51:36,526 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,527 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 14:51:36,528 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 14:51:36,533 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,536 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,538 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,554 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2023-07-03 14:51:36,555 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2023-07-03 14:51:36,555 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 14:51:36,555 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2023-07-03 14:51:36,556 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 14:51:36,557 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2023-07-03 14:51:36,557 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2023-07-03 14:51:36,558 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 14:51:36,558 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,559 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 14:51:36,559 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 14:51:36,560 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,566 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,568 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,585 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2023-07-03 14:51:36,587 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2023-07-03 14:51:36,589 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 14:51:36,590 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2023-07-03 14:51:36,594 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 14:51:36,596 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2023-07-03 14:51:36,597 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 14:51:36,601 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 14:51:36,607 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,608 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 14:51:36,609 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2023-07-03 14:51:36,609 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,610 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,611 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,617 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2023-07-03 14:51:36,617 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2023-07-03 14:51:36,618 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 14:51:36,619 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2023-07-03 14:51:36,619 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 14:51:36,623 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2023-07-03 14:51:36,646 INFO L351 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 [2023-07-03 14:51:36,665 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'notifications := notifications[current := data];' is: (not (= ULTIMATE.start_~~left~~idx current)) [2023-07-03 14:51:36,666 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 14:51:36,667 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2023-07-03 14:51:36,668 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 14:51:36,669 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2023-07-03 14:51:36,670 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,671 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,672 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,689 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2023-07-03 14:51:36,690 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2023-07-03 14:51:36,691 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 14:51:36,692 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2023-07-03 14:51:36,693 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 14:51:36,694 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2023-07-03 14:51:36,695 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2023-07-03 14:51:36,696 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 14:51:36,697 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,698 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 14:51:36,699 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2023-07-03 14:51:36,700 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,701 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,702 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,708 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2023-07-03 14:51:36,709 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2023-07-03 14:51:36,710 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 14:51:36,710 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2023-07-03 14:51:36,711 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 14:51:36,712 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2023-07-03 14:51:36,717 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2023-07-03 14:51:36,749 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 14:51:36,751 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2023-07-03 14:51:36,752 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 14:51:36,753 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2023-07-03 14:51:36,762 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2023-07-03 14:51:36,764 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2023-07-03 14:51:36,764 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2023-07-03 14:51:36,814 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 02:51:36 HornClauseAST [2023-07-03 14:51:36,814 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2023-07-03 14:51:36,815 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2023-07-03 14:51:36,815 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2023-07-03 14:51:36,815 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2023-07-03 14:51:36,816 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 02:51:36" (1/1) ... [2023-07-03 14:51:36,817 INFO L192 hcSmtPrinterObserver]: Writing to file /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/CHC_conditional_notify-listeners.bpl_UID13069922974755761199.smt2 [2023-07-03 14:51:36,850 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2023-07-03 14:51:36,851 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2023-07-03 14:51:36,851 INFO L270 PluginConnector]: Initializing ChcSolver... [2023-07-03 14:51:36,851 INFO L274 PluginConnector]: ChcSolver initialized [2023-07-03 14:51:36,853 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 02:51:36" (1/1) ... [2023-07-03 14:51:36,863 INFO L145 PredicateUnifier]: Initialized classic predicate unifier Received shutdown request... [2023-07-03 15:21:11,995 INFO L257 ToolchainWalker]: Toolchain cancelled while executing plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver. Reason: Timeout or Toolchain cancelled by user [2023-07-03 15:21:11,997 INFO L158 Benchmark]: Toolchain (without parser) took 1776149.03ms. Allocated memory was 239.1MB in the beginning and 3.9GB in the end (delta: 3.7GB). Free memory was 198.9MB in the beginning and 1.6GB in the end (delta: -1.4GB). Peak memory consumption was 3.3GB. Max. memory is 15.0GB. [2023-07-03 15:21:11,997 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.10ms. Allocated memory is still 239.1MB. Free memory is still 200.0MB. There was no memory consumed. Max. memory is 15.0GB. [2023-07-03 15:21:11,997 INFO L158 Benchmark]: Boogie Preprocessor took 19.90ms. Allocated memory is still 239.1MB. Free memory was 198.9MB in the beginning and 197.0MB in the end (delta: 1.9MB). Peak memory consumption was 4.2MB. Max. memory is 15.0GB. [2023-07-03 15:21:11,998 INFO L158 Benchmark]: RCFGBuilder took 125.21ms. Allocated memory is still 239.1MB. Free memory was 197.0MB in the beginning and 188.0MB in the end (delta: 9.1MB). Peak memory consumption was 8.4MB. Max. memory is 15.0GB. [2023-07-03 15:21:11,998 INFO L158 Benchmark]: IcfgToChc took 820.05ms. Allocated memory was 239.1MB in the beginning and 333.4MB in the end (delta: 94.4MB). Free memory was 188.0MB in the beginning and 294.5MB in the end (delta: -106.6MB). Peak memory consumption was 30.0MB. Max. memory is 15.0GB. [2023-07-03 15:21:11,999 INFO L158 Benchmark]: ChcSmtPrinter took 35.65ms. Allocated memory is still 333.4MB. Free memory was 294.5MB in the beginning and 285.4MB in the end (delta: 9.2MB). Peak memory consumption was 8.4MB. Max. memory is 15.0GB. [2023-07-03 15:21:11,999 INFO L158 Benchmark]: ChcSolver took 1775144.66ms. Allocated memory was 333.4MB in the beginning and 3.9GB in the end (delta: 3.6GB). Free memory was 285.4MB in the beginning and 1.6GB in the end (delta: -1.3GB). Peak memory consumption was 3.3GB. Max. memory is 15.0GB. [2023-07-03 15:21:12,001 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.10ms. Allocated memory is still 239.1MB. Free memory is still 200.0MB. There was no memory consumed. Max. memory is 15.0GB. * Boogie Preprocessor took 19.90ms. Allocated memory is still 239.1MB. Free memory was 198.9MB in the beginning and 197.0MB in the end (delta: 1.9MB). Peak memory consumption was 4.2MB. Max. memory is 15.0GB. * RCFGBuilder took 125.21ms. Allocated memory is still 239.1MB. Free memory was 197.0MB in the beginning and 188.0MB in the end (delta: 9.1MB). Peak memory consumption was 8.4MB. Max. memory is 15.0GB. * IcfgToChc took 820.05ms. Allocated memory was 239.1MB in the beginning and 333.4MB in the end (delta: 94.4MB). Free memory was 188.0MB in the beginning and 294.5MB in the end (delta: -106.6MB). Peak memory consumption was 30.0MB. Max. memory is 15.0GB. * ChcSmtPrinter took 35.65ms. Allocated memory is still 333.4MB. Free memory was 294.5MB in the beginning and 285.4MB in the end (delta: 9.2MB). Peak memory consumption was 8.4MB. Max. memory is 15.0GB. * ChcSolver took 1775144.66ms. Allocated memory was 333.4MB in the beginning and 3.9GB in the end (delta: 3.6GB). Free memory was 285.4MB in the beginning and 1.6GB in the end (delta: -1.3GB). Peak memory consumption was 3.3GB. Max. memory is 15.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.chcsolver: - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.chcsolver) Toolchain cancelled while TreeAutomizerCEGAR was refining abstraction,while Minimize was minimizing tree automaton,while Totalize was totalizing tree automaton with 35 nodes. RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown