/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 Z3 --chcsolver.produce.chc.model.if.query.is.sat true --chcsolver.produce.derivation.if.query.is.unsat false --chcsolver.produce.unsat.core.if.query.is.unsat false -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 17:05:43,736 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-07-03 17:05:43,804 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 17:05:43,811 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-07-03 17:05:43,812 INFO L135 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2023-07-03 17:05:43,813 INFO L137 SettingsManager]: * Produce UNSAT core if query is UNSAT=true [2023-07-03 17:05:43,813 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-07-03 17:05:43,814 INFO L137 SettingsManager]: * Size of a code block=OneNontrivialStatement [2023-07-03 17:05:43,814 INFO L137 SettingsManager]: * Add additional assume for each assert=false [2023-07-03 17:05:43,818 INFO L135 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2023-07-03 17:05:43,819 INFO L137 SettingsManager]: * Specification mode=ASSERT_VIOLATIONS [2023-07-03 17:05:43,819 INFO L137 SettingsManager]: * Preference order used for reduction=LOCKSTEP [2023-07-03 17:05:43,820 INFO L137 SettingsManager]: * Single-instance threads=notifier [2023-07-03 17:05:43,821 INFO L137 SettingsManager]: * Assume program has a precondition=false [2023-07-03 17:05:43,821 INFO L137 SettingsManager]: * Conditional Independence=PRECOMPUTED_CONDITIONS [2023-07-03 17:05:43,821 INFO L135 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2023-07-03 17:05:43,821 INFO L137 SettingsManager]: * Save file in source directory=true [2023-07-03 17:05:43,822 INFO L137 SettingsManager]: * Use automatic naming=true [2023-07-03 17:05:43,822 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 -> Z3 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: Produce CHC model if query is SAT -> true 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 -> false [2023-07-03 17:05:44,001 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-07-03 17:05:44,017 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-07-03 17:05:44,019 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-07-03 17:05:44,020 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2023-07-03 17:05:44,020 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2023-07-03 17:05:44,021 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 17:05:44,021 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl' [2023-07-03 17:05:44,038 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-07-03 17:05:44,039 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-07-03 17:05:44,040 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-07-03 17:05:44,040 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-07-03 17:05:44,040 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-07-03 17:05:44,054 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,055 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,060 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,060 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,062 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,064 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,064 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,065 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,065 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-07-03 17:05:44,067 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-07-03 17:05:44,067 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-07-03 17:05:44,067 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-07-03 17:05:44,068 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 05:05:44" (1/1) ... [2023-07-03 17:05:44,074 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-07-03 17:05:44,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-07-03 17:05:44,095 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2023-07-03 17:05:44,112 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2023-07-03 17:05:44,128 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2023-07-03 17:05:44,128 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2023-07-03 17:05:44,128 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2023-07-03 17:05:44,129 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2023-07-03 17:05:44,129 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-07-03 17:05:44,129 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-07-03 17:05:44,168 INFO L236 CfgBuilder]: Building ICFG [2023-07-03 17:05:44,170 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-07-03 17:05:44,229 INFO L277 CfgBuilder]: Performing block encoding [2023-07-03 17:05:44,235 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-07-03 17:05:44,235 INFO L302 CfgBuilder]: Removed 2 assume(true) statements. [2023-07-03 17:05:44,237 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.07 05:05:44 BoogieIcfgContainer [2023-07-03 17:05:44,237 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-07-03 17:05:44,237 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2023-07-03 17:05:44,238 INFO L270 PluginConnector]: Initializing IcfgToChc... [2023-07-03 17:05:44,238 INFO L274 PluginConnector]: IcfgToChc initialized [2023-07-03 17:05:44,241 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 05:05:44" (1/1) ... [2023-07-03 17:05:44,469 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2023-07-03 17:05:44,478 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2023-07-03 17:05:44,483 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 17:05:44,489 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2023-07-03 17:05:44,491 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 17:05:44,544 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2023-07-03 17:05:44,546 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 17:05:44,549 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 17:05:44,551 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,553 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 17:05:44,555 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2023-07-03 17:05:44,558 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,561 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,563 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,580 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2023-07-03 17:05:44,583 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2023-07-03 17:05:44,584 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 17:05:44,585 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2023-07-03 17:05:44,587 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 17:05:44,589 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2023-07-03 17:05:44,591 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2023-07-03 17:05:44,593 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 17:05:44,595 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,597 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 17:05:44,598 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 17:05:44,604 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,606 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,608 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,619 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2023-07-03 17:05:44,620 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2023-07-03 17:05:44,621 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 17:05:44,622 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2023-07-03 17:05:44,623 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 17:05:44,625 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2023-07-03 17:05:44,626 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2023-07-03 17:05:44,628 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 17:05:44,629 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,631 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 17:05:44,632 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 17:05:44,633 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,635 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,636 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,645 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2023-07-03 17:05:44,646 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2023-07-03 17:05:44,648 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 17:05:44,653 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2023-07-03 17:05:44,655 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 17:05:44,657 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2023-07-03 17:05:44,658 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 17:05:44,678 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 17:05:44,679 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,681 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 17:05:44,682 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2023-07-03 17:05:44,683 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,685 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,686 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,694 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2023-07-03 17:05:44,695 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2023-07-03 17:05:44,697 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 17:05:44,698 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2023-07-03 17:05:44,699 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 17:05:44,701 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2023-07-03 17:05:44,744 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 17:05:44,769 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 17:05:44,771 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 17:05:44,772 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2023-07-03 17:05:44,774 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 17:05:44,775 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2023-07-03 17:05:44,776 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,778 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,779 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,786 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2023-07-03 17:05:44,788 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2023-07-03 17:05:44,789 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 17:05:44,791 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2023-07-03 17:05:44,792 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 17:05:44,794 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2023-07-03 17:05:44,796 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2023-07-03 17:05:44,797 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 17:05:44,799 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,800 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 17:05:44,808 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2023-07-03 17:05:44,810 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,811 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,813 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,826 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2023-07-03 17:05:44,830 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2023-07-03 17:05:44,831 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 17:05:44,832 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2023-07-03 17:05:44,835 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 17:05:44,837 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2023-07-03 17:05:44,838 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2023-07-03 17:05:44,841 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 17:05:44,842 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,844 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 17:05:44,847 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2023-07-03 17:05:44,849 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,851 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,857 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,863 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 17:05:44,864 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,865 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 17:05:44,866 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 17:05:44,867 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,868 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,869 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,871 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 17:05:44,872 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,873 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 17:05:44,874 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 17:05:44,874 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,875 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,876 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,878 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2023-07-03 17:05:44,879 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,880 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2023-07-03 17:05:44,881 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2023-07-03 17:05:44,882 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,883 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,884 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,886 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2023-07-03 17:05:44,887 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,888 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2023-07-03 17:05:44,889 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2023-07-03 17:05:44,890 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,891 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,892 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,894 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2023-07-03 17:05:44,895 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2023-07-03 17:05:44,896 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2023-07-03 17:05:44,897 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2023-07-03 17:05:44,898 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,900 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,901 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:44,903 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2023-07-03 17:05:44,904 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2023-07-03 17:05:44,905 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2023-07-03 17:05:44,906 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2023-07-03 17:05:44,907 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:44,908 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2023-07-03 17:05:44,932 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 17:05:44,950 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 17:05:44,953 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2023-07-03 17:05:44,980 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (< ULTIMATE.start_~~right~~idx current) [2023-07-03 17:05:44,983 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2023-07-03 17:05:45,005 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2023-07-03 17:05:45,007 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 17:05:45,009 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2023-07-03 17:05:45,010 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 17:05:45,044 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 05:05:45 HornClauseAST [2023-07-03 17:05:45,044 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2023-07-03 17:05:45,044 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2023-07-03 17:05:45,044 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2023-07-03 17:05:45,045 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2023-07-03 17:05:45,045 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 05:05:45" (1/1) ... [2023-07-03 17:05:45,046 INFO L192 hcSmtPrinterObserver]: Writing to file /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/CHC_conditional_notify-listeners.bpl_UID3817964581075932017.smt2 [2023-07-03 17:05:45,073 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2023-07-03 17:05:45,074 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2023-07-03 17:05:45,074 INFO L270 PluginConnector]: Initializing ChcSolver... [2023-07-03 17:05:45,074 INFO L274 PluginConnector]: ChcSolver initialized [2023-07-03 17:05:45,075 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 05:05:45" (1/1) ... [2023-07-03 17:05:45,076 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-07-03 17:05:45,076 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-07-03 17:05:45,089 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-07-03 17:05:45,101 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2023-07-03 17:05:45,103 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2023-07-03 17:05:45,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-07-03 17:05:45,110 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-07-03 17:05:45,148 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process Received shutdown request... [2023-07-03 17:35:35,288 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-07-03 17:35:35,288 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-07-03 17:35:36,297 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 [2023-07-03 17:35:36,489 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forcibly destroying the process [2023-07-03 17:35:36,609 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 137 [2023-07-03 17:35:36,610 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 17:35:36,612 INFO L158 Benchmark]: Toolchain (without parser) took 1792571.87ms. Allocated memory was 364.9MB in the beginning and 469.8MB in the end (delta: 104.9MB). Free memory was 323.2MB in the beginning and 422.4MB in the end (delta: -99.3MB). Peak memory consumption was 62.9MB. Max. memory is 15.0GB. [2023-07-03 17:35:36,612 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.14ms. Allocated memory is still 364.9MB. Free memory is still 324.1MB. There was no memory consumed. Max. memory is 15.0GB. [2023-07-03 17:35:36,612 INFO L158 Benchmark]: Boogie Preprocessor took 25.62ms. Allocated memory is still 364.9MB. Free memory was 323.1MB in the beginning and 321.1MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 15.0GB. [2023-07-03 17:35:36,613 INFO L158 Benchmark]: RCFGBuilder took 170.28ms. Allocated memory is still 364.9MB. Free memory was 321.1MB in the beginning and 312.2MB in the end (delta: 8.9MB). Peak memory consumption was 10.5MB. Max. memory is 15.0GB. [2023-07-03 17:35:36,613 INFO L158 Benchmark]: IcfgToChc took 806.39ms. Allocated memory is still 364.9MB. Free memory was 312.2MB in the beginning and 293.8MB in the end (delta: 18.4MB). Peak memory consumption was 28.7MB. Max. memory is 15.0GB. [2023-07-03 17:35:36,614 INFO L158 Benchmark]: ChcSmtPrinter took 28.75ms. Allocated memory is still 364.9MB. Free memory was 293.8MB in the beginning and 286.4MB in the end (delta: 7.4MB). Peak memory consumption was 6.3MB. Max. memory is 15.0GB. [2023-07-03 17:35:36,614 INFO L158 Benchmark]: ChcSolver took 1791536.79ms. Allocated memory was 364.9MB in the beginning and 469.8MB in the end (delta: 104.9MB). Free memory was 286.4MB in the beginning and 422.4MB in the end (delta: -136.0MB). Peak memory consumption was 23.7MB. Max. memory is 15.0GB. [2023-07-03 17:35:36,631 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.14ms. Allocated memory is still 364.9MB. Free memory is still 324.1MB. There was no memory consumed. Max. memory is 15.0GB. * Boogie Preprocessor took 25.62ms. Allocated memory is still 364.9MB. Free memory was 323.1MB in the beginning and 321.1MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 15.0GB. * RCFGBuilder took 170.28ms. Allocated memory is still 364.9MB. Free memory was 321.1MB in the beginning and 312.2MB in the end (delta: 8.9MB). Peak memory consumption was 10.5MB. Max. memory is 15.0GB. * IcfgToChc took 806.39ms. Allocated memory is still 364.9MB. Free memory was 312.2MB in the beginning and 293.8MB in the end (delta: 18.4MB). Peak memory consumption was 28.7MB. Max. memory is 15.0GB. * ChcSmtPrinter took 28.75ms. Allocated memory is still 364.9MB. Free memory was 293.8MB in the beginning and 286.4MB in the end (delta: 7.4MB). Peak memory consumption was 6.3MB. Max. memory is 15.0GB. * ChcSolver took 1791536.79ms. Allocated memory was 364.9MB in the beginning and 469.8MB in the end (delta: 104.9MB). Free memory was 286.4MB in the beginning and 422.4MB in the end (delta: -136.0MB). Peak memory consumption was 23.7MB. 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 executing Executor. RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown