./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 bcb38a6f 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-bcb38a6-m [2024-06-04 16:30:04,566 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-06-04 16:30:04,637 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-06-04 16:30:04,645 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-06-04 16:30:04,646 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-06-04 16:30:04,675 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-06-04 16:30:04,678 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-06-04 16:30:04,679 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-06-04 16:30:04,679 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-06-04 16:30:04,682 INFO L153 SettingsManager]: * Use memory slicer=true [2024-06-04 16:30:04,682 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-06-04 16:30:04,683 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-06-04 16:30:04,683 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-06-04 16:30:04,684 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-06-04 16:30:04,684 INFO L153 SettingsManager]: * Use SBE=true [2024-06-04 16:30:04,685 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-06-04 16:30:04,685 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-06-04 16:30:04,685 INFO L153 SettingsManager]: * sizeof long=4 [2024-06-04 16:30:04,685 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-06-04 16:30:04,685 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-06-04 16:30:04,686 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-06-04 16:30:04,686 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-06-04 16:30:04,686 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-06-04 16:30:04,686 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-06-04 16:30:04,686 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-06-04 16:30:04,687 INFO L153 SettingsManager]: * sizeof long double=12 [2024-06-04 16:30:04,687 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-06-04 16:30:04,687 INFO L153 SettingsManager]: * Use constant arrays=true [2024-06-04 16:30:04,687 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-06-04 16:30:04,688 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-06-04 16:30:04,688 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-06-04 16:30:04,688 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-06-04 16:30:04,689 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-04 16:30:04,689 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-06-04 16:30:04,689 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-06-04 16:30:04,689 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-06-04 16:30:04,689 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-06-04 16:30:04,689 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-06-04 16:30:04,690 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-06-04 16:30:04,690 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-06-04 16:30:04,690 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-06-04 16:30:04,690 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-06-04 16:30:04,690 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-06-04 16:30:04,690 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-04 16:30:04,899 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-06-04 16:30:04,919 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-06-04 16:30:04,921 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-06-04 16:30:04,922 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-06-04 16:30:04,922 INFO L274 PluginConnector]: Witness Parser initialized [2024-06-04 16:30:04,923 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-04 16:30:05,107 INFO L270 PluginConnector]: Initializing CDTParser... [2024-06-04 16:30:05,108 INFO L274 PluginConnector]: CDTParser initialized [2024-06-04 16:30:05,108 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-04 16:30:06,052 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-06-04 16:30:06,290 INFO L384 CDTParser]: Found 1 translation units. [2024-06-04 16:30:06,290 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread/twostage_3.i [2024-06-04 16:30:06,307 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51ef076dd/0b35e05f27624ff58ed9e0a99c3a8d1e/FLAGeaff38a55 [2024-06-04 16:30:06,320 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51ef076dd/0b35e05f27624ff58ed9e0a99c3a8d1e [2024-06-04 16:30:06,321 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-06-04 16:30:06,322 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-06-04 16:30:06,323 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-06-04 16:30:06,324 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-06-04 16:30:06,327 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-06-04 16:30:06,327 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 04.06 04:30:05" (1/2) ... [2024-06-04 16:30:06,328 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53c20f2f and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 04.06 04:30:06, skipping insertion in model container [2024-06-04 16:30:06,328 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 04.06 04:30:05" (1/2) ... [2024-06-04 16:30:06,330 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@45e75861 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 04.06 04:30:06, skipping insertion in model container [2024-06-04 16:30:06,330 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.06 04:30:06" (2/2) ... [2024-06-04 16:30:06,330 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53c20f2f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:06, skipping insertion in model container [2024-06-04 16:30:06,330 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.06 04:30:06" (2/2) ... [2024-06-04 16:30:06,330 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-06-04 16:30:06,422 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-06-04 16:30:06,423 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-04 16:30:06,423 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-04 16:30:06,423 INFO L103 edCorrectnessWitness]: ghost_variable multithreaded = 0 [2024-06-04 16:30:06,423 INFO L103 edCorrectnessWitness]: ghost_variable alloc_m527474924_locked = 0 [2024-06-04 16:30:06,424 INFO L103 edCorrectnessWitness]: ghost_variable alloc_m563103013_locked = 0 [2024-06-04 16:30:06,424 INFO L106 edCorrectnessWitness]: ghost_update [L1266-L1266] alloc_m527474924_locked = 0; [2024-06-04 16:30:06,424 INFO L106 edCorrectnessWitness]: ghost_update [L1252-L1252] alloc_m563103013_locked = 1; [2024-06-04 16:30:06,424 INFO L106 edCorrectnessWitness]: ghost_update [L1269-L1269] alloc_m563103013_locked = 0; [2024-06-04 16:30:06,424 INFO L106 edCorrectnessWitness]: ghost_update [L1267-L1267] alloc_m563103013_locked = 1; [2024-06-04 16:30:06,424 INFO L106 edCorrectnessWitness]: ghost_update [L1304-L1304] multithreaded = 1; [2024-06-04 16:30:06,424 INFO L106 edCorrectnessWitness]: ghost_update [L1248-L1248] alloc_m527474924_locked = 0; [2024-06-04 16:30:06,424 INFO L106 edCorrectnessWitness]: ghost_update [L1249-L1249] alloc_m527474924_locked = 1; [2024-06-04 16:30:06,425 INFO L106 edCorrectnessWitness]: ghost_update [L1260-L1260] alloc_m527474924_locked = 1; [2024-06-04 16:30:06,425 INFO L106 edCorrectnessWitness]: ghost_update [L1254-L1254] alloc_m563103013_locked = 0; [2024-06-04 16:30:06,425 INFO L106 edCorrectnessWitness]: ghost_update [L1251-L1251] alloc_m527474924_locked = 0; [2024-06-04 16:30:06,425 INFO L106 edCorrectnessWitness]: ghost_update [L1310-L1310] multithreaded = 1; [2024-06-04 16:30:06,425 INFO L106 edCorrectnessWitness]: ghost_update [L1246-L1246] alloc_m527474924_locked = 1; [2024-06-04 16:30:06,425 INFO L106 edCorrectnessWitness]: ghost_update [L1262-L1262] alloc_m527474924_locked = 0; [2024-06-04 16:30:06,463 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-06-04 16:30:06,845 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-04 16:30:06,846 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-04 16:30:06,847 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-04 16:30:06,857 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-04 16:30:06,993 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-04 16:30:06,997 WARN L1645 CHandler]: Possible shadowing of function lock [2024-06-04 16:30:06,997 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-04 16:30:07,064 INFO L206 MainTranslator]: Completed translation [2024-06-04 16:30:07,065 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07 WrapperNode [2024-06-04 16:30:07,065 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-06-04 16:30:07,066 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-06-04 16:30:07,066 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-06-04 16:30:07,066 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-06-04 16:30:07,071 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,106 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,134 INFO L138 Inliner]: procedures = 373, calls = 34, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 187 [2024-06-04 16:30:07,135 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-06-04 16:30:07,135 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-06-04 16:30:07,135 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-06-04 16:30:07,136 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-06-04 16:30:07,144 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,144 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,147 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,159 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-04 16:30:07,159 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,159 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,167 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,169 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,171 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,172 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,191 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-06-04 16:30:07,192 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-06-04 16:30:07,192 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-06-04 16:30:07,192 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-06-04 16:30:07,193 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (1/1) ... [2024-06-04 16:30:07,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-04 16:30:07,211 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-04 16:30:07,223 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-04 16:30:07,232 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-04 16:30:07,262 INFO L130 BoogieDeclarations]: Found specification of procedure funcA [2024-06-04 16:30:07,262 INFO L138 BoogieDeclarations]: Found implementation of procedure funcA [2024-06-04 16:30:07,262 INFO L130 BoogieDeclarations]: Found specification of procedure funcB [2024-06-04 16:30:07,262 INFO L138 BoogieDeclarations]: Found implementation of procedure funcB [2024-06-04 16:30:07,263 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-06-04 16:30:07,263 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-06-04 16:30:07,263 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-06-04 16:30:07,263 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-06-04 16:30:07,263 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-06-04 16:30:07,263 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-06-04 16:30:07,263 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-06-04 16:30:07,264 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-06-04 16:30:07,267 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-06-04 16:30:07,269 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-06-04 16:30:07,372 INFO L244 CfgBuilder]: Building ICFG [2024-06-04 16:30:07,374 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-06-04 16:30:07,639 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-06-04 16:30:07,639 INFO L293 CfgBuilder]: Performing block encoding [2024-06-04 16:30:07,777 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-06-04 16:30:07,778 INFO L320 CfgBuilder]: Removed 4 assume(true) statements. [2024-06-04 16:30:07,778 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 04.06 04:30:07 BoogieIcfgContainer [2024-06-04 16:30:07,778 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-06-04 16:30:07,780 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-06-04 16:30:07,781 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-06-04 16:30:07,783 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-06-04 16:30:07,783 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 04.06 04:30:05" (1/4) ... [2024-06-04 16:30:07,784 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e6f1e81 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 04.06 04:30:07, skipping insertion in model container [2024-06-04 16:30:07,784 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 04.06 04:30:06" (2/4) ... [2024-06-04 16:30:07,785 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e6f1e81 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 04.06 04:30:07, skipping insertion in model container [2024-06-04 16:30:07,785 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.06 04:30:07" (3/4) ... [2024-06-04 16:30:07,785 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e6f1e81 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 04.06 04:30:07, skipping insertion in model container [2024-06-04 16:30:07,785 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 04.06 04:30:07" (4/4) ... [2024-06-04 16:30:07,788 INFO L112 eAbstractionObserver]: Analyzing ICFG twostage_3.i [2024-06-04 16:30:07,801 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-06-04 16:30:07,801 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-06-04 16:30:07,801 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-06-04 16:30:07,834 INFO L144 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2024-06-04 16:30:07,861 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 56 places, 56 transitions, 132 flow [2024-06-04 16:30:07,913 INFO L124 PetriNetUnfolderBase]: 10/117 cut-off events. [2024-06-04 16:30:07,913 INFO L125 PetriNetUnfolderBase]: For 8/8 co-relation queries the response was YES. [2024-06-04 16:30:07,917 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-04 16:30:07,917 INFO L82 GeneralOperation]: Start removeDead. Operand has 56 places, 56 transitions, 132 flow [2024-06-04 16:30:07,923 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 56 places, 54 transitions, 122 flow [2024-06-04 16:30:07,966 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-06-04 16:30:07,971 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;@29b16660, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-06-04 16:30:07,971 INFO L358 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-06-04 16:30:07,995 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-06-04 16:30:07,995 INFO L124 PetriNetUnfolderBase]: 0/3 cut-off events. [2024-06-04 16:30:07,995 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-04 16:30:07,995 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-04 16:30:07,995 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1] [2024-06-04 16:30:07,996 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-04 16:30:07,999 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-04 16:30:07,999 INFO L85 PathProgramCache]: Analyzing trace with hash 534061, now seen corresponding path program 1 times [2024-06-04 16:30:08,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-04 16:30:08,013 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1834128601] [2024-06-04 16:30:08,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-04 16:30:08,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-04 16:30:08,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-04 16:30:08,239 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-04 16:30:08,239 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-04 16:30:08,240 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1834128601] [2024-06-04 16:30:08,240 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1834128601] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-04 16:30:08,240 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-04 16:30:08,241 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-06-04 16:30:08,242 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2096803309] [2024-06-04 16:30:08,242 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-04 16:30:08,249 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-04 16:30:08,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-04 16:30:08,275 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-04 16:30:08,276 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-04 16:30:08,287 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 12 out of 56 [2024-06-04 16:30:08,288 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-04 16:30:08,289 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-04 16:30:08,289 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 12 of 56 [2024-06-04 16:30:08,289 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-04 16:30:08,765 INFO L124 PetriNetUnfolderBase]: 2467/4357 cut-off events. [2024-06-04 16:30:08,766 INFO L125 PetriNetUnfolderBase]: For 31/31 co-relation queries the response was YES. [2024-06-04 16:30:08,771 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-04 16:30:08,780 INFO L140 encePairwiseOnDemand]: 51/56 looper letters, 33 selfloop transitions, 3 changer transitions 14/62 dead transitions. [2024-06-04 16:30:08,780 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 62 transitions, 238 flow [2024-06-04 16:30:08,781 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-06-04 16:30:08,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-06-04 16:30:08,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2024-06-04 16:30:08,789 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5238095238095238 [2024-06-04 16:30:08,790 INFO L175 Difference]: Start difference. First operand has 56 places, 54 transitions, 122 flow. Second operand 3 states and 88 transitions. [2024-06-04 16:30:08,790 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 62 transitions, 238 flow [2024-06-04 16:30:08,793 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 62 transitions, 238 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-06-04 16:30:08,795 INFO L231 Difference]: Finished difference. Result has 59 places, 47 transitions, 119 flow [2024-06-04 16:30:08,796 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-04 16:30:08,799 INFO L281 CegarLoopForPetriNet]: 56 programPoint places, 3 predicate places. [2024-06-04 16:30:08,799 INFO L495 AbstractCegarLoop]: Abstraction has has 59 places, 47 transitions, 119 flow [2024-06-04 16:30:08,799 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-04 16:30:08,799 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-04 16:30:08,799 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1] [2024-06-04 16:30:08,800 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-06-04 16:30:08,800 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-04 16:30:08,800 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-04 16:30:08,800 INFO L85 PathProgramCache]: Analyzing trace with hash -180779859, now seen corresponding path program 1 times [2024-06-04 16:30:08,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-04 16:30:08,801 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1357696599] [2024-06-04 16:30:08,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-04 16:30:08,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-04 16:30:08,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-04 16:30:09,189 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-04 16:30:09,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-04 16:30:09,189 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1357696599] [2024-06-04 16:30:09,190 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1357696599] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-04 16:30:09,190 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1512579762] [2024-06-04 16:30:09,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-04 16:30:09,191 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-04 16:30:09,191 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-04 16:30:09,192 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-04 16:30:09,212 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-04 16:30:09,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-04 16:30:09,289 INFO L262 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 8 conjunts are in the unsatisfiable core [2024-06-04 16:30:09,293 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-04 16:30:09,455 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-04 16:30:09,455 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-04 16:30:09,596 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-04 16:30:09,597 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1512579762] provided 1 perfect and 1 imperfect interpolant sequences [2024-06-04 16:30:09,597 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-06-04 16:30:09,597 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [3, 4] total 10 [2024-06-04 16:30:09,598 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [638798386] [2024-06-04 16:30:09,598 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-04 16:30:09,599 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-06-04 16:30:09,599 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-04 16:30:09,600 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-06-04 16:30:09,600 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2024-06-04 16:30:09,619 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 56 [2024-06-04 16:30:09,620 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-04 16:30:09,620 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-04 16:30:09,620 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 56 [2024-06-04 16:30:09,620 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-04 16:30:09,812 INFO L124 PetriNetUnfolderBase]: 930/1825 cut-off events. [2024-06-04 16:30:09,813 INFO L125 PetriNetUnfolderBase]: For 313/313 co-relation queries the response was YES. [2024-06-04 16:30:09,815 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-04 16:30:09,820 INFO L140 encePairwiseOnDemand]: 51/56 looper letters, 48 selfloop transitions, 3 changer transitions 0/62 dead transitions. [2024-06-04 16:30:09,820 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 62 transitions, 254 flow [2024-06-04 16:30:09,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-06-04 16:30:09,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-06-04 16:30:09,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2024-06-04 16:30:09,821 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.42410714285714285 [2024-06-04 16:30:09,821 INFO L175 Difference]: Start difference. First operand has 59 places, 47 transitions, 119 flow. Second operand 4 states and 95 transitions. [2024-06-04 16:30:09,822 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 62 transitions, 254 flow [2024-06-04 16:30:09,823 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 53 places, 62 transitions, 251 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-06-04 16:30:09,824 INFO L231 Difference]: Finished difference. Result has 55 places, 48 transitions, 132 flow [2024-06-04 16:30:09,824 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-04 16:30:09,825 INFO L281 CegarLoopForPetriNet]: 56 programPoint places, -1 predicate places. [2024-06-04 16:30:09,825 INFO L495 AbstractCegarLoop]: Abstraction has has 55 places, 48 transitions, 132 flow [2024-06-04 16:30:09,825 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-04 16:30:09,825 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-04 16:30:09,825 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-04 16:30:09,839 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-04 16:30:10,035 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-04 16:30:10,036 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-04 16:30:10,036 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-04 16:30:10,036 INFO L85 PathProgramCache]: Analyzing trace with hash -1062029916, now seen corresponding path program 1 times [2024-06-04 16:30:10,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-04 16:30:10,037 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [895082214] [2024-06-04 16:30:10,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-04 16:30:10,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-04 16:30:10,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-04 16:30:10,256 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-04 16:30:10,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-04 16:30:10,256 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [895082214] [2024-06-04 16:30:10,257 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [895082214] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-04 16:30:10,257 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [650626804] [2024-06-04 16:30:10,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-04 16:30:10,258 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-04 16:30:10,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-04 16:30:10,259 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-04 16:30:10,272 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-04 16:30:10,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-04 16:30:10,346 INFO L262 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 7 conjunts are in the unsatisfiable core [2024-06-04 16:30:10,348 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-04 16:30:10,465 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-04 16:30:10,466 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-04 16:30:10,628 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-04 16:30:10,628 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [650626804] provided 1 perfect and 1 imperfect interpolant sequences [2024-06-04 16:30:10,629 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-06-04 16:30:10,629 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4, 4] total 12 [2024-06-04 16:30:10,629 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1220932772] [2024-06-04 16:30:10,630 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-04 16:30:10,630 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-06-04 16:30:10,631 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-04 16:30:10,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-06-04 16:30:10,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=122, Unknown=0, NotChecked=0, Total=182 [2024-06-04 16:30:10,650 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 56 [2024-06-04 16:30:10,651 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-04 16:30:10,651 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-04 16:30:10,652 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 56 [2024-06-04 16:30:10,652 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-04 16:30:10,909 INFO L124 PetriNetUnfolderBase]: 1160/2283 cut-off events. [2024-06-04 16:30:10,909 INFO L125 PetriNetUnfolderBase]: For 176/185 co-relation queries the response was YES. [2024-06-04 16:30:10,913 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-04 16:30:10,923 INFO L140 encePairwiseOnDemand]: 51/56 looper letters, 75 selfloop transitions, 5 changer transitions 0/92 dead transitions. [2024-06-04 16:30:10,923 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 92 transitions, 378 flow [2024-06-04 16:30:10,923 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-06-04 16:30:10,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-06-04 16:30:10,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 133 transitions. [2024-06-04 16:30:10,927 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.475 [2024-06-04 16:30:10,927 INFO L175 Difference]: Start difference. First operand has 55 places, 48 transitions, 132 flow. Second operand 5 states and 133 transitions. [2024-06-04 16:30:10,927 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 92 transitions, 378 flow [2024-06-04 16:30:10,930 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 56 places, 92 transitions, 375 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-06-04 16:30:10,932 INFO L231 Difference]: Finished difference. Result has 57 places, 48 transitions, 142 flow [2024-06-04 16:30:10,932 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-04 16:30:10,933 INFO L281 CegarLoopForPetriNet]: 56 programPoint places, 1 predicate places. [2024-06-04 16:30:10,933 INFO L495 AbstractCegarLoop]: Abstraction has has 57 places, 48 transitions, 142 flow [2024-06-04 16:30:10,933 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-04 16:30:10,934 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-04 16:30:10,934 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1] [2024-06-04 16:30:10,947 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-04 16:30:11,141 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-04 16:30:11,142 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-04 16:30:11,142 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-04 16:30:11,142 INFO L85 PathProgramCache]: Analyzing trace with hash 276733398, now seen corresponding path program 1 times [2024-06-04 16:30:11,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-04 16:30:11,143 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [458747462] [2024-06-04 16:30:11,143 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-04 16:30:11,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-04 16:30:11,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-06-04 16:30:11,162 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-06-04 16:30:11,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-06-04 16:30:11,184 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-06-04 16:30:11,185 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-06-04 16:30:11,186 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (3 of 4 remaining) [2024-06-04 16:30:11,187 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT (2 of 4 remaining) [2024-06-04 16:30:11,187 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 4 remaining) [2024-06-04 16:30:11,187 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 4 remaining) [2024-06-04 16:30:11,187 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-06-04 16:30:11,188 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2024-06-04 16:30:11,189 WARN L234 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2024-06-04 16:30:11,189 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2024-06-04 16:30:11,218 INFO L144 ThreadInstanceAdder]: Constructed 8 joinOtherThreadTransitions. [2024-06-04 16:30:11,221 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 88 places, 89 transitions, 222 flow [2024-06-04 16:30:11,242 INFO L124 PetriNetUnfolderBase]: 63/361 cut-off events. [2024-06-04 16:30:11,242 INFO L125 PetriNetUnfolderBase]: For 72/84 co-relation queries the response was YES. [2024-06-04 16:30:11,244 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-04 16:30:11,244 INFO L82 GeneralOperation]: Start removeDead. Operand has 88 places, 89 transitions, 222 flow [2024-06-04 16:30:11,245 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 88 places, 89 transitions, 222 flow [2024-06-04 16:30:11,247 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-06-04 16:30:11,249 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;@29b16660, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-06-04 16:30:11,250 INFO L358 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-06-04 16:30:11,251 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-06-04 16:30:11,251 INFO L124 PetriNetUnfolderBase]: 0/3 cut-off events. [2024-06-04 16:30:11,251 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-04 16:30:11,251 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-04 16:30:11,251 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1] [2024-06-04 16:30:11,251 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-04 16:30:11,252 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-04 16:30:11,252 INFO L85 PathProgramCache]: Analyzing trace with hash 620452, now seen corresponding path program 1 times [2024-06-04 16:30:11,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-04 16:30:11,252 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [786963993] [2024-06-04 16:30:11,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-04 16:30:11,252 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-04 16:30:11,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-04 16:30:11,271 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-04 16:30:11,271 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-04 16:30:11,271 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [786963993] [2024-06-04 16:30:11,272 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [786963993] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-04 16:30:11,272 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-04 16:30:11,272 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-06-04 16:30:11,272 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [542980562] [2024-06-04 16:30:11,272 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-04 16:30:11,272 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-04 16:30:11,273 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-04 16:30:11,273 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-04 16:30:11,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-04 16:30:11,277 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 18 out of 89 [2024-06-04 16:30:11,278 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-04 16:30:11,278 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-04 16:30:11,278 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 18 of 89 [2024-06-04 16:30:11,278 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand