./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread/twostage_3.i --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --validate ./goblint.2024-05-21_14-57-05.files/mutex-meet/twostage_3.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version cde23df1 Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread/twostage_3.i ./goblint.2024-05-21_14-57-05.files/mutex-meet/twostage_3.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.fs.goblint-validation-cde23df-m [2024-06-14 14:22:27,020 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-06-14 14:22:27,069 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-06-14 14:22:27,072 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-06-14 14:22:27,073 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-06-14 14:22:27,101 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-06-14 14:22:27,106 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-06-14 14:22:27,119 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-06-14 14:22:27,120 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-06-14 14:22:27,121 INFO L153 SettingsManager]: * Use memory slicer=true [2024-06-14 14:22:27,122 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-06-14 14:22:27,122 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-06-14 14:22:27,123 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-06-14 14:22:27,125 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-06-14 14:22:27,125 INFO L153 SettingsManager]: * Use SBE=true [2024-06-14 14:22:27,125 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-06-14 14:22:27,125 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-06-14 14:22:27,126 INFO L153 SettingsManager]: * sizeof long=4 [2024-06-14 14:22:27,126 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-06-14 14:22:27,126 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-06-14 14:22:27,126 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-06-14 14:22:27,130 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-06-14 14:22:27,130 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-06-14 14:22:27,130 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-06-14 14:22:27,130 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-06-14 14:22:27,131 INFO L153 SettingsManager]: * sizeof long double=12 [2024-06-14 14:22:27,131 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-06-14 14:22:27,131 INFO L153 SettingsManager]: * Use constant arrays=true [2024-06-14 14:22:27,131 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-06-14 14:22:27,131 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-06-14 14:22:27,132 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-06-14 14:22:27,132 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-06-14 14:22:27,132 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-14 14:22:27,132 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-06-14 14:22:27,132 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-06-14 14:22:27,133 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-06-14 14:22:27,133 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-06-14 14:22:27,133 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-06-14 14:22:27,133 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-06-14 14:22:27,133 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-06-14 14:22:27,134 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-06-14 14:22:27,148 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-06-14 14:22:27,148 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-06-14 14:22:27,148 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC 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.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Check unreachability of reach_error function -> false [2024-06-14 14:22:27,394 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-06-14 14:22:27,412 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-06-14 14:22:27,414 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-06-14 14:22:27,414 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-06-14 14:22:27,415 INFO L274 PluginConnector]: Witness Parser initialized [2024-06-14 14:22:27,416 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./goblint.2024-05-21_14-57-05.files/mutex-meet/twostage_3.yml/witness.yml [2024-06-14 14:22:27,624 INFO L270 PluginConnector]: Initializing CDTParser... [2024-06-14 14:22:27,624 INFO L274 PluginConnector]: CDTParser initialized [2024-06-14 14:22:27,625 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread/twostage_3.i [2024-06-14 14:22:28,629 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-06-14 14:22:28,829 INFO L384 CDTParser]: Found 1 translation units. [2024-06-14 14:22:28,832 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread/twostage_3.i [2024-06-14 14:22:28,844 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/097ac56e7/bb4551d08dd44bae95a1eef9c5d97d9a/FLAGb7d365157 [2024-06-14 14:22:28,856 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/097ac56e7/bb4551d08dd44bae95a1eef9c5d97d9a [2024-06-14 14:22:28,856 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-06-14 14:22:28,857 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-06-14 14:22:28,858 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-06-14 14:22:28,858 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-06-14 14:22:28,861 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-06-14 14:22:28,862 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.06 02:22:27" (1/2) ... [2024-06-14 14:22:28,862 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c776377 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 02:22:28, skipping insertion in model container [2024-06-14 14:22:28,863 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.06 02:22:27" (1/2) ... [2024-06-14 14:22:28,864 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@4c148e4c and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 02:22:28, skipping insertion in model container [2024-06-14 14:22:28,864 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.06 02:22:28" (2/2) ... [2024-06-14 14:22:28,864 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c776377 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:28, skipping insertion in model container [2024-06-14 14:22:28,864 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.06 02:22:28" (2/2) ... [2024-06-14 14:22:28,864 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-06-14 14:22:28,956 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-06-14 14:22:28,957 INFO L97 edCorrectnessWitness]: Location invariant before [L1304-L1307] (((((((((((((((((((((! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL))) [2024-06-14 14:22:28,957 INFO L97 edCorrectnessWitness]: Location invariant before [L1310-L1313] (((((((((((((((((((((! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m563103013_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147583648LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL)))) && (! multithreaded || (alloc_m527474924_locked || ((((2147483647LL + (long long )iRThreads) + (long long )iTThreads >= 0LL && (2147683647LL - (long long )iRThreads) + (long long )iTThreads >= 0LL) && (2147583648LL + (long long )iRThreads) - (long long )iTThreads >= 0LL) && (200000LL - (long long )iRThreads) - (long long )iTThreads >= 0LL))) [2024-06-14 14:22:28,957 INFO L103 edCorrectnessWitness]: ghost_variable alloc_m527474924_locked = 0 [2024-06-14 14:22:28,958 INFO L103 edCorrectnessWitness]: ghost_variable multithreaded = 0 [2024-06-14 14:22:28,958 INFO L103 edCorrectnessWitness]: ghost_variable alloc_m563103013_locked = 0 [2024-06-14 14:22:28,958 INFO L106 edCorrectnessWitness]: ghost_update [L1260-L1260] alloc_m527474924_locked = 1; [2024-06-14 14:22:28,958 INFO L106 edCorrectnessWitness]: ghost_update [L1310-L1310] multithreaded = 1; [2024-06-14 14:22:28,958 INFO L106 edCorrectnessWitness]: ghost_update [L1252-L1252] alloc_m563103013_locked = 1; [2024-06-14 14:22:28,958 INFO L106 edCorrectnessWitness]: ghost_update [L1249-L1249] alloc_m527474924_locked = 1; [2024-06-14 14:22:28,958 INFO L106 edCorrectnessWitness]: ghost_update [L1254-L1254] alloc_m563103013_locked = 0; [2024-06-14 14:22:28,958 INFO L106 edCorrectnessWitness]: ghost_update [L1262-L1262] alloc_m527474924_locked = 0; [2024-06-14 14:22:28,959 INFO L106 edCorrectnessWitness]: ghost_update [L1246-L1246] alloc_m527474924_locked = 1; [2024-06-14 14:22:28,959 INFO L106 edCorrectnessWitness]: ghost_update [L1269-L1269] alloc_m563103013_locked = 0; [2024-06-14 14:22:28,959 INFO L106 edCorrectnessWitness]: ghost_update [L1267-L1267] alloc_m563103013_locked = 1; [2024-06-14 14:22:28,959 INFO L106 edCorrectnessWitness]: ghost_update [L1248-L1248] alloc_m527474924_locked = 0; [2024-06-14 14:22:28,959 INFO L106 edCorrectnessWitness]: ghost_update [L1304-L1304] multithreaded = 1; [2024-06-14 14:22:28,959 INFO L106 edCorrectnessWitness]: ghost_update [L1266-L1266] alloc_m527474924_locked = 0; [2024-06-14 14:22:28,959 INFO L106 edCorrectnessWitness]: ghost_update [L1251-L1251] alloc_m527474924_locked = 0; [2024-06-14 14:22:28,995 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-06-14 14:22:29,386 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-14 14:22:29,388 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-14 14:22:29,389 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-14 14:22:29,395 INFO L202 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-06-14 14:22:29,553 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-14 14:22:29,562 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-14 14:22:29,563 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-14 14:22:29,637 INFO L206 MainTranslator]: Completed translation [2024-06-14 14:22:29,637 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29 WrapperNode [2024-06-14 14:22:29,638 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-06-14 14:22:29,639 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-06-14 14:22:29,639 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-06-14 14:22:29,639 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-06-14 14:22:29,644 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,659 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,695 INFO L138 Inliner]: procedures = 373, calls = 34, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 187 [2024-06-14 14:22:29,695 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-06-14 14:22:29,696 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-06-14 14:22:29,696 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-06-14 14:22:29,696 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-06-14 14:22:29,704 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,704 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,707 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,722 INFO L175 MemorySlicer]: Split 6 memory accesses to 3 slices as follows [2, 2, 2]. 33 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0]. The 2 writes are split as follows [0, 1, 1]. [2024-06-14 14:22:29,722 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,723 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,730 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,733 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,735 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,736 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,740 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-06-14 14:22:29,741 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-06-14 14:22:29,741 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-06-14 14:22:29,741 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-06-14 14:22:29,742 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (1/1) ... [2024-06-14 14:22:29,746 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-14 14:22:29,753 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-14 14:22:29,765 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-06-14 14:22:29,784 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-06-14 14:22:29,809 INFO L130 BoogieDeclarations]: Found specification of procedure funcA [2024-06-14 14:22:29,810 INFO L138 BoogieDeclarations]: Found implementation of procedure funcA [2024-06-14 14:22:29,810 INFO L130 BoogieDeclarations]: Found specification of procedure funcB [2024-06-14 14:22:29,810 INFO L138 BoogieDeclarations]: Found implementation of procedure funcB [2024-06-14 14:22:29,810 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-06-14 14:22:29,810 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-06-14 14:22:29,810 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-06-14 14:22:29,811 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-06-14 14:22:29,811 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-06-14 14:22:29,811 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-06-14 14:22:29,812 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-06-14 14:22:29,812 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-06-14 14:22:29,812 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-06-14 14:22:29,813 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-06-14 14:22:29,814 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-06-14 14:22:29,814 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-06-14 14:22:29,814 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-06-14 14:22:29,814 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-06-14 14:22:29,814 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-06-14 14:22:29,814 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-06-14 14:22:29,815 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-06-14 14:22:29,816 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-06-14 14:22:29,923 INFO L244 CfgBuilder]: Building ICFG [2024-06-14 14:22:29,924 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-06-14 14:22:30,179 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-06-14 14:22:30,179 INFO L293 CfgBuilder]: Performing block encoding [2024-06-14 14:22:30,352 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-06-14 14:22:30,352 INFO L320 CfgBuilder]: Removed 4 assume(true) statements. [2024-06-14 14:22:30,353 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.06 02:22:30 BoogieIcfgContainer [2024-06-14 14:22:30,353 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-06-14 14:22:30,355 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-06-14 14:22:30,355 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-06-14 14:22:30,358 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-06-14 14:22:30,359 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.06 02:22:27" (1/4) ... [2024-06-14 14:22:30,359 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f429812 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 14.06 02:22:30, skipping insertion in model container [2024-06-14 14:22:30,360 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.06 02:22:28" (2/4) ... [2024-06-14 14:22:30,360 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f429812 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.06 02:22:30, skipping insertion in model container [2024-06-14 14:22:30,360 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 02:22:29" (3/4) ... [2024-06-14 14:22:30,361 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f429812 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.06 02:22:30, skipping insertion in model container [2024-06-14 14:22:30,361 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.06 02:22:30" (4/4) ... [2024-06-14 14:22:30,368 INFO L112 eAbstractionObserver]: Analyzing ICFG twostage_3.i [2024-06-14 14:22:30,382 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-06-14 14:22:30,383 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-06-14 14:22:30,383 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-06-14 14:22:30,421 INFO L144 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2024-06-14 14:22:30,451 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 56 places, 56 transitions, 132 flow [2024-06-14 14:22:30,526 INFO L124 PetriNetUnfolderBase]: 10/117 cut-off events. [2024-06-14 14:22:30,526 INFO L125 PetriNetUnfolderBase]: For 8/8 co-relation queries the response was YES. [2024-06-14 14:22:30,529 INFO L83 FinitePrefix]: Finished finitePrefix Result has 134 conditions, 117 events. 10/117 cut-off events. For 8/8 co-relation queries the response was YES. Maximal size of possible extension queue 11. Compared 449 event pairs, 0 based on Foata normal form. 0/93 useless extension candidates. Maximal degree in co-relation 65. Up to 7 conditions per place. [2024-06-14 14:22:30,529 INFO L82 GeneralOperation]: Start removeDead. Operand has 56 places, 56 transitions, 132 flow [2024-06-14 14:22:30,532 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 56 places, 54 transitions, 122 flow [2024-06-14 14:22:30,543 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-06-14 14:22:30,577 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@7684c948, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-06-14 14:22:30,577 INFO L358 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-06-14 14:22:30,579 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-06-14 14:22:30,580 INFO L124 PetriNetUnfolderBase]: 0/3 cut-off events. [2024-06-14 14:22:30,580 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-14 14:22:30,580 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 14:22:30,580 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1] [2024-06-14 14:22:30,580 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-06-14 14:22:30,584 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 14:22:30,584 INFO L85 PathProgramCache]: Analyzing trace with hash 534061, now seen corresponding path program 1 times [2024-06-14 14:22:30,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 14:22:30,631 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [221702612] [2024-06-14 14:22:30,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 14:22:30,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 14:22:30,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 14:22:30,920 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:30,921 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-14 14:22:30,921 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [221702612] [2024-06-14 14:22:30,922 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [221702612] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-14 14:22:30,922 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-14 14:22:30,922 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-06-14 14:22:30,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [970155184] [2024-06-14 14:22:30,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-14 14:22:30,930 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-14 14:22:30,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-14 14:22:30,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-14 14:22:30,961 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-14 14:22:30,972 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 12 out of 56 [2024-06-14 14:22:30,974 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 56 places, 54 transitions, 122 flow. Second operand has 3 states, 3 states have (on average 12.666666666666666) internal successors, (38), 3 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-14 14:22:30,974 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-14 14:22:30,974 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 12 of 56 [2024-06-14 14:22:30,975 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-14 14:22:31,457 INFO L124 PetriNetUnfolderBase]: 2467/4357 cut-off events. [2024-06-14 14:22:31,458 INFO L125 PetriNetUnfolderBase]: For 31/31 co-relation queries the response was YES. [2024-06-14 14:22:31,463 INFO L83 FinitePrefix]: Finished finitePrefix Result has 8384 conditions, 4357 events. 2467/4357 cut-off events. For 31/31 co-relation queries the response was YES. Maximal size of possible extension queue 165. Compared 26948 event pairs, 2314 based on Foata normal form. 2/3997 useless extension candidates. Maximal degree in co-relation 7768. Up to 3967 conditions per place. [2024-06-14 14:22:31,474 INFO L140 encePairwiseOnDemand]: 51/56 looper letters, 33 selfloop transitions, 3 changer transitions 14/62 dead transitions. [2024-06-14 14:22:31,474 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 62 transitions, 238 flow [2024-06-14 14:22:31,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-06-14 14:22:31,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-06-14 14:22:31,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2024-06-14 14:22:31,483 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5238095238095238 [2024-06-14 14:22:31,484 INFO L175 Difference]: Start difference. First operand has 56 places, 54 transitions, 122 flow. Second operand 3 states and 88 transitions. [2024-06-14 14:22:31,485 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 62 transitions, 238 flow [2024-06-14 14:22:31,488 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 62 transitions, 238 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-06-14 14:22:31,490 INFO L231 Difference]: Finished difference. Result has 59 places, 47 transitions, 119 flow [2024-06-14 14:22:31,491 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=56, PETRI_DIFFERENCE_MINUEND_FLOW=122, PETRI_DIFFERENCE_MINUEND_PLACES=56, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=51, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=119, PETRI_PLACES=59, PETRI_TRANSITIONS=47} [2024-06-14 14:22:31,494 INFO L281 CegarLoopForPetriNet]: 56 programPoint places, 3 predicate places. [2024-06-14 14:22:31,494 INFO L495 AbstractCegarLoop]: Abstraction has has 59 places, 47 transitions, 119 flow [2024-06-14 14:22:31,494 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 12.666666666666666) internal successors, (38), 3 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-14 14:22:31,495 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 14:22:31,495 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1] [2024-06-14 14:22:31,495 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-06-14 14:22:31,495 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-06-14 14:22:31,495 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 14:22:31,496 INFO L85 PathProgramCache]: Analyzing trace with hash -180779859, now seen corresponding path program 1 times [2024-06-14 14:22:31,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 14:22:31,496 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1328170681] [2024-06-14 14:22:31,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 14:22:31,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 14:22:31,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 14:22:31,758 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:31,758 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-14 14:22:31,759 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1328170681] [2024-06-14 14:22:31,759 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1328170681] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-14 14:22:31,759 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [56409211] [2024-06-14 14:22:31,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 14:22:31,759 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-14 14:22:31,759 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-14 14:22:31,761 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) [2024-06-14 14:22:31,787 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-06-14 14:22:31,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 14:22:31,844 INFO L262 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 8 conjunts are in the unsatisfiable core [2024-06-14 14:22:31,848 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-14 14:22:32,046 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:32,046 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-14 14:22:32,203 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:32,204 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [56409211] provided 1 perfect and 1 imperfect interpolant sequences [2024-06-14 14:22:32,204 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-06-14 14:22:32,204 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [3, 4] total 10 [2024-06-14 14:22:32,205 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1314624686] [2024-06-14 14:22:32,205 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-14 14:22:32,205 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-06-14 14:22:32,206 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-14 14:22:32,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-06-14 14:22:32,207 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2024-06-14 14:22:32,226 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 56 [2024-06-14 14:22:32,227 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 59 places, 47 transitions, 119 flow. Second operand has 5 states, 5 states have (on average 12.6) internal successors, (63), 5 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-14 14:22:32,227 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-14 14:22:32,227 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 56 [2024-06-14 14:22:32,228 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-14 14:22:32,408 INFO L124 PetriNetUnfolderBase]: 930/1825 cut-off events. [2024-06-14 14:22:32,408 INFO L125 PetriNetUnfolderBase]: For 313/313 co-relation queries the response was YES. [2024-06-14 14:22:32,410 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3591 conditions, 1825 events. 930/1825 cut-off events. For 313/313 co-relation queries the response was YES. Maximal size of possible extension queue 70. Compared 10299 event pairs, 877 based on Foata normal form. 144/1937 useless extension candidates. Maximal degree in co-relation 3335. Up to 1468 conditions per place. [2024-06-14 14:22:32,415 INFO L140 encePairwiseOnDemand]: 51/56 looper letters, 48 selfloop transitions, 3 changer transitions 0/62 dead transitions. [2024-06-14 14:22:32,415 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 62 transitions, 254 flow [2024-06-14 14:22:32,415 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-06-14 14:22:32,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-06-14 14:22:32,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2024-06-14 14:22:32,416 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.42410714285714285 [2024-06-14 14:22:32,416 INFO L175 Difference]: Start difference. First operand has 59 places, 47 transitions, 119 flow. Second operand 4 states and 95 transitions. [2024-06-14 14:22:32,416 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 62 transitions, 254 flow [2024-06-14 14:22:32,418 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 53 places, 62 transitions, 251 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-06-14 14:22:32,418 INFO L231 Difference]: Finished difference. Result has 55 places, 48 transitions, 132 flow [2024-06-14 14:22:32,419 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=56, PETRI_DIFFERENCE_MINUEND_FLOW=112, PETRI_DIFFERENCE_MINUEND_PLACES=50, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=43, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=132, PETRI_PLACES=55, PETRI_TRANSITIONS=48} [2024-06-14 14:22:32,419 INFO L281 CegarLoopForPetriNet]: 56 programPoint places, -1 predicate places. [2024-06-14 14:22:32,419 INFO L495 AbstractCegarLoop]: Abstraction has has 55 places, 48 transitions, 132 flow [2024-06-14 14:22:32,419 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 12.6) internal successors, (63), 5 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-14 14:22:32,420 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 14:22:32,420 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-14 14:22:32,434 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2024-06-14 14:22:32,631 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-14 14:22:32,632 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-06-14 14:22:32,632 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 14:22:32,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1062029916, now seen corresponding path program 1 times [2024-06-14 14:22:32,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 14:22:32,633 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251675946] [2024-06-14 14:22:32,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 14:22:32,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 14:22:32,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 14:22:32,870 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:32,870 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-14 14:22:32,870 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251675946] [2024-06-14 14:22:32,871 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [251675946] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-14 14:22:32,871 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1390074546] [2024-06-14 14:22:32,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 14:22:32,871 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-14 14:22:32,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-14 14:22:32,872 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) [2024-06-14 14:22:32,892 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-06-14 14:22:32,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 14:22:32,960 INFO L262 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 7 conjunts are in the unsatisfiable core [2024-06-14 14:22:32,963 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-14 14:22:33,072 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:33,073 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-14 14:22:33,226 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:33,227 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1390074546] provided 1 perfect and 1 imperfect interpolant sequences [2024-06-14 14:22:33,227 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-06-14 14:22:33,227 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4, 4] total 12 [2024-06-14 14:22:33,227 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [714978723] [2024-06-14 14:22:33,228 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-14 14:22:33,228 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-06-14 14:22:33,228 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-14 14:22:33,229 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-06-14 14:22:33,229 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=122, Unknown=0, NotChecked=0, Total=182 [2024-06-14 14:22:33,248 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 56 [2024-06-14 14:22:33,249 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 55 places, 48 transitions, 132 flow. Second operand has 6 states, 6 states have (on average 12.5) internal successors, (75), 6 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-14 14:22:33,249 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-14 14:22:33,249 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 56 [2024-06-14 14:22:33,249 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-14 14:22:33,554 INFO L124 PetriNetUnfolderBase]: 1160/2283 cut-off events. [2024-06-14 14:22:33,554 INFO L125 PetriNetUnfolderBase]: For 176/185 co-relation queries the response was YES. [2024-06-14 14:22:33,558 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4408 conditions, 2283 events. 1160/2283 cut-off events. For 176/185 co-relation queries the response was YES. Maximal size of possible extension queue 83. Compared 13924 event pairs, 143 based on Foata normal form. 10/2290 useless extension candidates. Maximal degree in co-relation 4161. Up to 1110 conditions per place. [2024-06-14 14:22:33,566 INFO L140 encePairwiseOnDemand]: 51/56 looper letters, 75 selfloop transitions, 5 changer transitions 0/92 dead transitions. [2024-06-14 14:22:33,567 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 92 transitions, 378 flow [2024-06-14 14:22:33,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-06-14 14:22:33,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-06-14 14:22:33,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 133 transitions. [2024-06-14 14:22:33,568 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.475 [2024-06-14 14:22:33,568 INFO L175 Difference]: Start difference. First operand has 55 places, 48 transitions, 132 flow. Second operand 5 states and 133 transitions. [2024-06-14 14:22:33,568 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 92 transitions, 378 flow [2024-06-14 14:22:33,570 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 56 places, 92 transitions, 375 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-06-14 14:22:33,571 INFO L231 Difference]: Finished difference. Result has 57 places, 48 transitions, 142 flow [2024-06-14 14:22:33,571 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=56, PETRI_DIFFERENCE_MINUEND_FLOW=123, PETRI_DIFFERENCE_MINUEND_PLACES=52, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=47, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=42, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=142, PETRI_PLACES=57, PETRI_TRANSITIONS=48} [2024-06-14 14:22:33,572 INFO L281 CegarLoopForPetriNet]: 56 programPoint places, 1 predicate places. [2024-06-14 14:22:33,572 INFO L495 AbstractCegarLoop]: Abstraction has has 57 places, 48 transitions, 142 flow [2024-06-14 14:22:33,572 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 12.5) internal successors, (75), 6 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-14 14:22:33,572 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 14:22:33,573 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1] [2024-06-14 14:22:33,584 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-06-14 14:22:33,784 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2024-06-14 14:22:33,785 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-06-14 14:22:33,785 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 14:22:33,785 INFO L85 PathProgramCache]: Analyzing trace with hash 276733398, now seen corresponding path program 1 times [2024-06-14 14:22:33,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 14:22:33,786 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [617173220] [2024-06-14 14:22:33,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 14:22:33,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 14:22:33,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-06-14 14:22:33,806 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-06-14 14:22:33,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-06-14 14:22:33,835 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-06-14 14:22:33,835 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-06-14 14:22:33,836 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (3 of 4 remaining) [2024-06-14 14:22:33,837 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT (2 of 4 remaining) [2024-06-14 14:22:33,838 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 4 remaining) [2024-06-14 14:22:33,838 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 4 remaining) [2024-06-14 14:22:33,838 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-06-14 14:22:33,838 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2024-06-14 14:22:33,840 WARN L234 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2024-06-14 14:22:33,840 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2024-06-14 14:22:33,867 INFO L144 ThreadInstanceAdder]: Constructed 8 joinOtherThreadTransitions. [2024-06-14 14:22:33,869 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 88 places, 89 transitions, 222 flow [2024-06-14 14:22:33,903 INFO L124 PetriNetUnfolderBase]: 63/361 cut-off events. [2024-06-14 14:22:33,904 INFO L125 PetriNetUnfolderBase]: For 72/84 co-relation queries the response was YES. [2024-06-14 14:22:33,905 INFO L83 FinitePrefix]: Finished finitePrefix Result has 450 conditions, 361 events. 63/361 cut-off events. For 72/84 co-relation queries the response was YES. Maximal size of possible extension queue 23. Compared 1987 event pairs, 2 based on Foata normal form. 0/293 useless extension candidates. Maximal degree in co-relation 238. Up to 32 conditions per place. [2024-06-14 14:22:33,905 INFO L82 GeneralOperation]: Start removeDead. Operand has 88 places, 89 transitions, 222 flow [2024-06-14 14:22:33,906 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 88 places, 89 transitions, 222 flow [2024-06-14 14:22:33,907 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-06-14 14:22:33,908 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@7684c948, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-06-14 14:22:33,908 INFO L358 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-06-14 14:22:33,909 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-06-14 14:22:33,909 INFO L124 PetriNetUnfolderBase]: 0/3 cut-off events. [2024-06-14 14:22:33,909 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-14 14:22:33,909 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 14:22:33,909 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1] [2024-06-14 14:22:33,909 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-06-14 14:22:33,910 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 14:22:33,910 INFO L85 PathProgramCache]: Analyzing trace with hash 620452, now seen corresponding path program 1 times [2024-06-14 14:22:33,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 14:22:33,910 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1898114219] [2024-06-14 14:22:33,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 14:22:33,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 14:22:33,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 14:22:33,931 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-14 14:22:33,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-14 14:22:33,931 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1898114219] [2024-06-14 14:22:33,931 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1898114219] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-14 14:22:33,931 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-14 14:22:33,931 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-06-14 14:22:33,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [997238108] [2024-06-14 14:22:33,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-14 14:22:33,932 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-14 14:22:33,932 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-14 14:22:33,932 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-14 14:22:33,933 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-14 14:22:33,938 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 18 out of 89 [2024-06-14 14:22:33,938 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 88 places, 89 transitions, 222 flow. Second operand has 3 states, 3 states have (on average 18.666666666666668) internal successors, (56), 3 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-14 14:22:33,938 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-14 14:22:33,938 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 18 of 89 [2024-06-14 14:22:33,938 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand