/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 --icfgtochc.break.symmetry.of.preference.order false --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 18:49:55,215 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-07-03 18:49:55,275 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 18:49:55,284 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-07-03 18:49:55,285 INFO L135 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2023-07-03 18:49:55,285 INFO L137 SettingsManager]: * Produce UNSAT core if query is UNSAT=true [2023-07-03 18:49:55,286 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-07-03 18:49:55,286 INFO L137 SettingsManager]: * Size of a code block=OneNontrivialStatement [2023-07-03 18:49:55,286 INFO L137 SettingsManager]: * Add additional assume for each assert=false [2023-07-03 18:49:55,290 INFO L135 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2023-07-03 18:49:55,290 INFO L137 SettingsManager]: * Specification mode=ASSERT_VIOLATIONS [2023-07-03 18:49:55,290 INFO L137 SettingsManager]: * Preference order used for reduction=LOCKSTEP [2023-07-03 18:49:55,291 INFO L137 SettingsManager]: * Single-instance threads=notifier [2023-07-03 18:49:55,292 INFO L137 SettingsManager]: * Assume program has a precondition=false [2023-07-03 18:49:55,292 INFO L137 SettingsManager]: * Conditional Independence=PRECOMPUTED_CONDITIONS [2023-07-03 18:49:55,292 INFO L135 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2023-07-03 18:49:55,292 INFO L137 SettingsManager]: * Save file in source directory=true [2023-07-03 18:49:55,293 INFO L137 SettingsManager]: * Use automatic naming=true [2023-07-03 18:49:55,293 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.icfgtochc: Break symmetry of preference order -> false 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 18:49:55,471 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-07-03 18:49:55,490 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-07-03 18:49:55,492 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-07-03 18:49:55,493 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2023-07-03 18:49:55,493 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2023-07-03 18:49:55,494 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 18:49:55,494 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl' [2023-07-03 18:49:55,510 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-07-03 18:49:55,511 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-07-03 18:49:55,512 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-07-03 18:49:55,512 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-07-03 18:49:55,512 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-07-03 18:49:55,522 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,523 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,528 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,528 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,529 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,531 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,531 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,532 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,532 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-07-03 18:49:55,534 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-07-03 18:49:55,534 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-07-03 18:49:55,534 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-07-03 18:49:55,535 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 06:49:55" (1/1) ... [2023-07-03 18:49:55,538 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-07-03 18:49:55,581 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2023-07-03 18:49:55,581 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2023-07-03 18:49:55,582 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2023-07-03 18:49:55,582 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2023-07-03 18:49:55,582 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-07-03 18:49:55,582 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-07-03 18:49:55,602 INFO L236 CfgBuilder]: Building ICFG [2023-07-03 18:49:55,603 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-07-03 18:49:55,646 INFO L277 CfgBuilder]: Performing block encoding [2023-07-03 18:49:55,650 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-07-03 18:49:55,650 INFO L302 CfgBuilder]: Removed 2 assume(true) statements. [2023-07-03 18:49:55,651 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.07 06:49:55 BoogieIcfgContainer [2023-07-03 18:49:55,651 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-07-03 18:49:55,652 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2023-07-03 18:49:55,652 INFO L270 PluginConnector]: Initializing IcfgToChc... [2023-07-03 18:49:55,652 INFO L274 PluginConnector]: IcfgToChc initialized [2023-07-03 18:49:55,653 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 06:49:55" (1/1) ... [2023-07-03 18:49:55,825 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2023-07-03 18:49:55,828 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2023-07-03 18:49:55,829 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 18:49:55,831 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2023-07-03 18:49:55,833 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 18:49:55,871 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2023-07-03 18:49:55,874 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 18:49:55,876 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 18:49:55,878 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2023-07-03 18:49:55,886 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 18:49:55,888 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2023-07-03 18:49:55,889 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:55,891 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:55,893 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:55,904 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2023-07-03 18:49:55,905 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2023-07-03 18:49:55,906 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 18:49:55,907 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2023-07-03 18:49:55,909 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 18:49:55,910 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2023-07-03 18:49:55,912 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2023-07-03 18:49:55,913 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 18:49:55,914 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 18:49:55,916 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 18:49:55,917 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 18:49:55,918 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:55,920 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:55,923 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:55,933 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2023-07-03 18:49:55,934 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2023-07-03 18:49:55,935 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 18:49:55,935 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2023-07-03 18:49:55,936 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 18:49:55,938 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2023-07-03 18:49:55,938 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2023-07-03 18:49:55,939 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 18:49:55,940 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 18:49:55,941 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 18:49:55,942 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 18:49:55,943 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:55,944 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:55,945 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:55,951 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2023-07-03 18:49:55,952 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2023-07-03 18:49:55,953 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 18:49:55,954 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2023-07-03 18:49:55,955 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 18:49:55,958 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2023-07-03 18:49:55,959 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 18:49:55,960 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 18:49:55,961 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2023-07-03 18:49:55,963 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 18:49:55,964 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2023-07-03 18:49:55,965 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:55,968 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:55,969 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:55,988 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2023-07-03 18:49:55,993 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2023-07-03 18:49:55,994 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 18:49:55,995 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2023-07-03 18:49:55,996 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 18:49:55,998 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2023-07-03 18:49:56,037 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 18:49:56,070 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 18:49:56,072 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 18:49:56,073 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2023-07-03 18:49:56,074 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 18:49:56,075 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2023-07-03 18:49:56,076 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,084 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,089 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,094 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2023-07-03 18:49:56,095 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2023-07-03 18:49:56,096 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 18:49:56,097 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2023-07-03 18:49:56,101 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 18:49:56,102 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2023-07-03 18:49:56,103 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2023-07-03 18:49:56,104 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 18:49:56,105 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2023-07-03 18:49:56,106 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 18:49:56,107 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2023-07-03 18:49:56,109 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,110 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,111 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,119 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2023-07-03 18:49:56,120 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2023-07-03 18:49:56,121 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 18:49:56,121 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2023-07-03 18:49:56,122 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 18:49:56,123 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2023-07-03 18:49:56,124 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2023-07-03 18:49:56,125 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 18:49:56,126 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2023-07-03 18:49:56,127 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 18:49:56,127 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2023-07-03 18:49:56,128 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,129 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,130 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,134 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 18:49:56,135 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 18:49:56,135 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 18:49:56,136 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 18:49:56,137 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,138 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,139 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,140 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 18:49:56,141 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 18:49:56,141 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 18:49:56,142 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 18:49:56,142 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,143 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,144 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,145 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2023-07-03 18:49:56,146 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2023-07-03 18:49:56,146 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2023-07-03 18:49:56,147 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2023-07-03 18:49:56,148 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,148 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,149 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,151 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2023-07-03 18:49:56,152 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2023-07-03 18:49:56,152 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2023-07-03 18:49:56,153 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2023-07-03 18:49:56,154 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,155 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,156 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,158 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2023-07-03 18:49:56,158 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2023-07-03 18:49:56,159 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2023-07-03 18:49:56,160 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2023-07-03 18:49:56,161 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,162 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,163 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,169 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2023-07-03 18:49:56,170 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2023-07-03 18:49:56,171 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2023-07-03 18:49:56,172 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2023-07-03 18:49:56,173 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,174 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,183 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 18:49:56,190 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 18:49:56,192 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2023-07-03 18:49:56,209 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (< ULTIMATE.start_~~right~~idx current) [2023-07-03 18:49:56,210 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2023-07-03 18:49:56,217 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2023-07-03 18:49:56,218 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 18:49:56,219 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2023-07-03 18:49:56,220 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 18:49:56,253 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 06:49:56 HornClauseAST [2023-07-03 18:49:56,253 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2023-07-03 18:49:56,254 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2023-07-03 18:49:56,254 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2023-07-03 18:49:56,254 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2023-07-03 18:49:56,255 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 06:49:56" (1/1) ... [2023-07-03 18:49:56,256 INFO L192 hcSmtPrinterObserver]: Writing to file /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/CHC_conditional_notify-listeners.bpl_UID8703609259973413345.smt2 [2023-07-03 18:49:56,289 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2023-07-03 18:49:56,289 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2023-07-03 18:49:56,289 INFO L270 PluginConnector]: Initializing ChcSolver... [2023-07-03 18:49:56,289 INFO L274 PluginConnector]: ChcSolver initialized [2023-07-03 18:49:56,293 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 06:49:56" (1/1) ... [2023-07-03 18:49:56,303 INFO L145 PredicateUnifier]: Initialized classic predicate unifier Received shutdown request... [2023-07-03 19:19:32,472 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 19:19:32,474 INFO L158 Benchmark]: Toolchain (without parser) took 1776961.71ms. Allocated memory was 331.4MB in the beginning and 1.5GB in the end (delta: 1.2GB). Free memory was 288.9MB in the beginning and 440.1MB in the end (delta: -151.1MB). Peak memory consumption was 1.3GB. Max. memory is 15.0GB. [2023-07-03 19:19:32,474 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.11ms. Allocated memory is still 331.4MB. Free memory was 290.0MB in the beginning and 289.9MB in the end (delta: 139.8kB). There was no memory consumed. Max. memory is 15.0GB. [2023-07-03 19:19:32,475 INFO L158 Benchmark]: Boogie Preprocessor took 21.26ms. Allocated memory is still 331.4MB. Free memory was 288.9MB in the beginning and 286.9MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 15.0GB. [2023-07-03 19:19:32,475 INFO L158 Benchmark]: RCFGBuilder took 117.46ms. Allocated memory is still 331.4MB. Free memory was 286.9MB in the beginning and 277.9MB in the end (delta: 9.0MB). Peak memory consumption was 10.5MB. Max. memory is 15.0GB. [2023-07-03 19:19:32,475 INFO L158 Benchmark]: IcfgToChc took 601.70ms. Allocated memory is still 331.4MB. Free memory was 277.9MB in the beginning and 249.3MB in the end (delta: 28.6MB). Peak memory consumption was 30.6MB. Max. memory is 15.0GB. [2023-07-03 19:19:32,476 INFO L158 Benchmark]: ChcSmtPrinter took 34.98ms. Allocated memory is still 331.4MB. Free memory was 249.3MB in the beginning and 241.9MB in the end (delta: 7.5MB). Peak memory consumption was 6.3MB. Max. memory is 15.0GB. [2023-07-03 19:19:32,476 INFO L158 Benchmark]: ChcSolver took 1776183.47ms. Allocated memory was 331.4MB in the beginning and 1.5GB in the end (delta: 1.2GB). Free memory was 241.9MB in the beginning and 440.1MB in the end (delta: -198.2MB). Peak memory consumption was 1.2GB. Max. memory is 15.0GB. [2023-07-03 19:19:32,478 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.11ms. Allocated memory is still 331.4MB. Free memory was 290.0MB in the beginning and 289.9MB in the end (delta: 139.8kB). There was no memory consumed. Max. memory is 15.0GB. * Boogie Preprocessor took 21.26ms. Allocated memory is still 331.4MB. Free memory was 288.9MB in the beginning and 286.9MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 15.0GB. * RCFGBuilder took 117.46ms. Allocated memory is still 331.4MB. Free memory was 286.9MB in the beginning and 277.9MB in the end (delta: 9.0MB). Peak memory consumption was 10.5MB. Max. memory is 15.0GB. * IcfgToChc took 601.70ms. Allocated memory is still 331.4MB. Free memory was 277.9MB in the beginning and 249.3MB in the end (delta: 28.6MB). Peak memory consumption was 30.6MB. Max. memory is 15.0GB. * ChcSmtPrinter took 34.98ms. Allocated memory is still 331.4MB. Free memory was 249.3MB in the beginning and 241.9MB in the end (delta: 7.5MB). Peak memory consumption was 6.3MB. Max. memory is 15.0GB. * ChcSolver took 1776183.47ms. Allocated memory was 331.4MB in the beginning and 1.5GB in the end (delta: 1.2GB). Free memory was 241.9MB in the beginning and 440.1MB in the end (delta: -198.2MB). Peak memory consumption was 1.2GB. 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