./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/goblint-regression/13-privatized_19-publish-precision_unknown_1_pos.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/13-privatized_19-publish-precision_unknown_1_pos.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/goblint-regression/13-privatized_19-publish-precision_unknown_1_pos.i ./goblint.2024-05-21_14-57-05.files/mutex-meet/13-privatized_19-publish-precision_unknown_1_pos.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 16:13:48,478 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-06-14 16:13:48,544 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-06-14 16:13:48,548 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-06-14 16:13:48,549 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-06-14 16:13:48,574 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-06-14 16:13:48,575 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-06-14 16:13:48,575 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-06-14 16:13:48,576 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-06-14 16:13:48,580 INFO L153 SettingsManager]: * Use memory slicer=true [2024-06-14 16:13:48,580 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-06-14 16:13:48,581 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-06-14 16:13:48,582 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-06-14 16:13:48,583 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-06-14 16:13:48,583 INFO L153 SettingsManager]: * Use SBE=true [2024-06-14 16:13:48,583 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-06-14 16:13:48,584 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-06-14 16:13:48,584 INFO L153 SettingsManager]: * sizeof long=4 [2024-06-14 16:13:48,584 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-06-14 16:13:48,584 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-06-14 16:13:48,584 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-06-14 16:13:48,585 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-06-14 16:13:48,585 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-06-14 16:13:48,585 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-06-14 16:13:48,585 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-06-14 16:13:48,586 INFO L153 SettingsManager]: * sizeof long double=12 [2024-06-14 16:13:48,586 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-06-14 16:13:48,586 INFO L153 SettingsManager]: * Use constant arrays=true [2024-06-14 16:13:48,587 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-06-14 16:13:48,587 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-06-14 16:13:48,588 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-06-14 16:13:48,588 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-06-14 16:13:48,588 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-14 16:13:48,588 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-06-14 16:13:48,588 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-06-14 16:13:48,589 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-06-14 16:13:48,589 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-06-14 16:13:48,589 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-06-14 16:13:48,589 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-06-14 16:13:48,589 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-06-14 16:13:48,590 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-06-14 16:13:48,590 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-06-14 16:13:48,590 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-06-14 16:13:48,590 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 16:13:48,775 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-06-14 16:13:48,794 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-06-14 16:13:48,796 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-06-14 16:13:48,797 INFO L270 PluginConnector]: Initializing CDTParser... [2024-06-14 16:13:48,798 INFO L274 PluginConnector]: CDTParser initialized [2024-06-14 16:13:48,798 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/goblint-regression/13-privatized_19-publish-precision_unknown_1_pos.i [2024-06-14 16:13:49,935 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-06-14 16:13:50,170 INFO L384 CDTParser]: Found 1 translation units. [2024-06-14 16:13:50,171 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/13-privatized_19-publish-precision_unknown_1_pos.i [2024-06-14 16:13:50,182 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/871f54fef/2c60db45b9fe43a0a4c73e88e8420ab6/FLAG0c7be4e6c [2024-06-14 16:13:50,194 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/871f54fef/2c60db45b9fe43a0a4c73e88e8420ab6 [2024-06-14 16:13:50,196 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-06-14 16:13:50,196 INFO L274 PluginConnector]: Witness Parser initialized [2024-06-14 16:13:50,197 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/13-privatized_19-publish-precision_unknown_1_pos.yml/witness.yml [2024-06-14 16:13:50,294 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-06-14 16:13:50,295 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-06-14 16:13:50,296 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-06-14 16:13:50,296 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-06-14 16:13:50,300 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-06-14 16:13:50,301 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.06 04:13:50" (1/2) ... [2024-06-14 16:13:50,302 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f3ddfc8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 04:13:50, skipping insertion in model container [2024-06-14 16:13:50,303 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.06 04:13:50" (1/2) ... [2024-06-14 16:13:50,305 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@5074bd5e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.06 04:13:50, skipping insertion in model container [2024-06-14 16:13:50,305 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.06 04:13:50" (2/2) ... [2024-06-14 16:13:50,306 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f3ddfc8 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50, skipping insertion in model container [2024-06-14 16:13:50,306 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.06 04:13:50" (2/2) ... [2024-06-14 16:13:50,306 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-06-14 16:13:50,345 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-06-14 16:13:50,346 INFO L97 edCorrectnessWitness]: Location invariant before [L698-L698] ((! multithreaded || ((((0 <= glob1 && glob1 <= 5) && glob1 <= 127) && glob1 % 5 == 0) && (glob1 == 0 || glob1 == 5))) && (! multithreaded || (mutex2_locked || ((((0 <= glob1 && glob1 <= 5) && glob1 <= 127) && glob1 % 5 == 0) && (glob1 == 0 || glob1 == 5))))) && (! multithreaded || (mutex1_locked || glob1 == 0)) [2024-06-14 16:13:50,347 INFO L103 edCorrectnessWitness]: ghost_variable mutex2_locked = 0 [2024-06-14 16:13:50,347 INFO L103 edCorrectnessWitness]: ghost_variable multithreaded = 0 [2024-06-14 16:13:50,347 INFO L103 edCorrectnessWitness]: ghost_variable mutex1_locked = 0 [2024-06-14 16:13:50,347 INFO L106 edCorrectnessWitness]: ghost_update [L700-L700] mutex2_locked = 0; [2024-06-14 16:13:50,348 INFO L106 edCorrectnessWitness]: ghost_update [L686-L686] mutex2_locked = 1; [2024-06-14 16:13:50,348 INFO L106 edCorrectnessWitness]: ghost_update [L688-L688] mutex2_locked = 0; [2024-06-14 16:13:50,348 INFO L106 edCorrectnessWitness]: ghost_update [L697-L697] multithreaded = 1; [2024-06-14 16:13:50,348 INFO L106 edCorrectnessWitness]: ghost_update [L689-L689] mutex2_locked = 1; [2024-06-14 16:13:50,348 INFO L106 edCorrectnessWitness]: ghost_update [L691-L691] mutex2_locked = 0; [2024-06-14 16:13:50,349 INFO L106 edCorrectnessWitness]: ghost_update [L685-L685] mutex1_locked = 1; [2024-06-14 16:13:50,349 INFO L106 edCorrectnessWitness]: ghost_update [L698-L698] mutex2_locked = 1; [2024-06-14 16:13:50,349 INFO L106 edCorrectnessWitness]: ghost_update [L692-L692] mutex1_locked = 0; [2024-06-14 16:13:50,395 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-06-14 16:13:50,659 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-14 16:13:50,670 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 [2024-06-14 16:13:50,749 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-14 16:13:50,780 INFO L206 MainTranslator]: Completed translation [2024-06-14 16:13:50,781 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50 WrapperNode [2024-06-14 16:13:50,781 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-06-14 16:13:50,782 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-06-14 16:13:50,782 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-06-14 16:13:50,782 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-06-14 16:13:50,788 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,812 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,835 INFO L138 Inliner]: procedures = 162, calls = 29, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 55 [2024-06-14 16:13:50,836 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-06-14 16:13:50,837 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-06-14 16:13:50,837 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-06-14 16:13:50,837 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-06-14 16:13:50,845 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,845 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,852 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,869 INFO L175 MemorySlicer]: Split 12 memory accesses to 3 slices as follows [2, 5, 5]. 42 percent of accesses are in the largest equivalence class. The 12 initializations are split as follows [2, 5, 5]. The 0 writes are split as follows [0, 0, 0]. [2024-06-14 16:13:50,869 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,869 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,872 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,873 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,874 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,874 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,876 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-06-14 16:13:50,877 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-06-14 16:13:50,877 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-06-14 16:13:50,877 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-06-14 16:13:50,877 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (1/1) ... [2024-06-14 16:13:50,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-14 16:13:50,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-14 16:13:50,899 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 16:13:50,924 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 16:13:50,949 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-06-14 16:13:50,949 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-06-14 16:13:50,949 INFO L130 BoogieDeclarations]: Found specification of procedure t_fun [2024-06-14 16:13:50,949 INFO L138 BoogieDeclarations]: Found implementation of procedure t_fun [2024-06-14 16:13:50,949 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-06-14 16:13:50,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-06-14 16:13:50,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-06-14 16:13:50,950 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-06-14 16:13:50,950 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-06-14 16:13:50,950 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-06-14 16:13:50,951 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 16:13:51,036 INFO L244 CfgBuilder]: Building ICFG [2024-06-14 16:13:51,038 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-06-14 16:13:51,201 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-06-14 16:13:51,201 INFO L293 CfgBuilder]: Performing block encoding [2024-06-14 16:13:51,290 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-06-14 16:13:51,290 INFO L320 CfgBuilder]: Removed 0 assume(true) statements. [2024-06-14 16:13:51,290 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.06 04:13:51 BoogieIcfgContainer [2024-06-14 16:13:51,290 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-06-14 16:13:51,292 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-06-14 16:13:51,292 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-06-14 16:13:51,294 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-06-14 16:13:51,295 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.06 04:13:50" (1/4) ... [2024-06-14 16:13:51,295 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@26ab405a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.06 04:13:51, skipping insertion in model container [2024-06-14 16:13:51,296 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.06 04:13:50" (2/4) ... [2024-06-14 16:13:51,296 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@26ab405a and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 14.06 04:13:51, skipping insertion in model container [2024-06-14 16:13:51,296 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.06 04:13:50" (3/4) ... [2024-06-14 16:13:51,296 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@26ab405a and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 14.06 04:13:51, skipping insertion in model container [2024-06-14 16:13:51,296 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.06 04:13:51" (4/4) ... [2024-06-14 16:13:51,297 INFO L112 eAbstractionObserver]: Analyzing ICFG 13-privatized_19-publish-precision_unknown_1_pos.i [2024-06-14 16:13:51,311 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-06-14 16:13:51,312 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-06-14 16:13:51,312 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-06-14 16:13:51,350 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2024-06-14 16:13:51,382 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 31 places, 27 transitions, 61 flow [2024-06-14 16:13:51,411 INFO L124 PetriNetUnfolderBase]: 0/26 cut-off events. [2024-06-14 16:13:51,412 INFO L125 PetriNetUnfolderBase]: For 1/1 co-relation queries the response was YES. [2024-06-14 16:13:51,413 INFO L83 FinitePrefix]: Finished finitePrefix Result has 31 conditions, 26 events. 0/26 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 15 event pairs, 0 based on Foata normal form. 0/25 useless extension candidates. Maximal degree in co-relation 0. Up to 2 conditions per place. [2024-06-14 16:13:51,413 INFO L82 GeneralOperation]: Start removeDead. Operand has 31 places, 27 transitions, 61 flow [2024-06-14 16:13:51,415 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 23 places, 19 transitions, 41 flow [2024-06-14 16:13:51,421 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-06-14 16:13:51,432 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;@53a2f824, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-06-14 16:13:51,432 INFO L358 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-06-14 16:13:51,438 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-06-14 16:13:51,439 INFO L124 PetriNetUnfolderBase]: 0/6 cut-off events. [2024-06-14 16:13:51,439 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-14 16:13:51,439 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 16:13:51,439 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1] [2024-06-14 16:13:51,440 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-06-14 16:13:51,443 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 16:13:51,444 INFO L85 PathProgramCache]: Analyzing trace with hash -2139501867, now seen corresponding path program 1 times [2024-06-14 16:13:51,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 16:13:51,477 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [53067266] [2024-06-14 16:13:51,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 16:13:51,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 16:13:51,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 16:13:51,921 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 16:13:51,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-14 16:13:51,922 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [53067266] [2024-06-14 16:13:51,924 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [53067266] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-14 16:13:51,924 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-14 16:13:51,924 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-06-14 16:13:51,925 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [907711697] [2024-06-14 16:13:51,927 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-14 16:13:51,934 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-14 16:13:51,939 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-14 16:13:51,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-14 16:13:51,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-14 16:13:51,981 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 27 [2024-06-14 16:13:51,983 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 23 places, 19 transitions, 41 flow. Second operand has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 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 16:13:51,984 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-14 16:13:51,984 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 27 [2024-06-14 16:13:51,985 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-14 16:13:52,039 INFO L124 PetriNetUnfolderBase]: 11/48 cut-off events. [2024-06-14 16:13:52,040 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-14 16:13:52,042 INFO L83 FinitePrefix]: Finished finitePrefix Result has 94 conditions, 48 events. 11/48 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 65 event pairs, 8 based on Foata normal form. 7/53 useless extension candidates. Maximal degree in co-relation 81. Up to 27 conditions per place. [2024-06-14 16:13:52,043 INFO L140 encePairwiseOnDemand]: 23/27 looper letters, 13 selfloop transitions, 3 changer transitions 0/20 dead transitions. [2024-06-14 16:13:52,044 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 25 places, 20 transitions, 75 flow [2024-06-14 16:13:52,045 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-06-14 16:13:52,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-06-14 16:13:52,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2024-06-14 16:13:52,055 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4691358024691358 [2024-06-14 16:13:52,056 INFO L175 Difference]: Start difference. First operand has 23 places, 19 transitions, 41 flow. Second operand 3 states and 38 transitions. [2024-06-14 16:13:52,057 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 25 places, 20 transitions, 75 flow [2024-06-14 16:13:52,059 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 24 places, 20 transitions, 74 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-06-14 16:13:52,062 INFO L231 Difference]: Finished difference. Result has 25 places, 19 transitions, 51 flow [2024-06-14 16:13:52,064 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=27, PETRI_DIFFERENCE_MINUEND_FLOW=40, PETRI_DIFFERENCE_MINUEND_PLACES=22, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=19, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=16, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=51, PETRI_PLACES=25, PETRI_TRANSITIONS=19} [2024-06-14 16:13:52,068 INFO L281 CegarLoopForPetriNet]: 23 programPoint places, 2 predicate places. [2024-06-14 16:13:52,068 INFO L495 AbstractCegarLoop]: Abstraction has has 25 places, 19 transitions, 51 flow [2024-06-14 16:13:52,068 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 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 16:13:52,068 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 16:13:52,069 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-14 16:13:52,069 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-06-14 16:13:52,069 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-06-14 16:13:52,072 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 16:13:52,072 INFO L85 PathProgramCache]: Analyzing trace with hash -1651174440, now seen corresponding path program 1 times [2024-06-14 16:13:52,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 16:13:52,072 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1116700610] [2024-06-14 16:13:52,072 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 16:13:52,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 16:13:52,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 16:13:52,282 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 16:13:52,283 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-14 16:13:52,283 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1116700610] [2024-06-14 16:13:52,283 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1116700610] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-14 16:13:52,285 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-14 16:13:52,285 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-06-14 16:13:52,285 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [830549728] [2024-06-14 16:13:52,285 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-14 16:13:52,286 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-06-14 16:13:52,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-14 16:13:52,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-06-14 16:13:52,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2024-06-14 16:13:52,297 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 27 [2024-06-14 16:13:52,298 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 25 places, 19 transitions, 51 flow. Second operand has 5 states, 5 states have (on average 8.8) internal successors, (44), 5 states have internal predecessors, (44), 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 16:13:52,298 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-14 16:13:52,298 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 27 [2024-06-14 16:13:52,298 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-14 16:13:52,348 INFO L124 PetriNetUnfolderBase]: 10/47 cut-off events. [2024-06-14 16:13:52,348 INFO L125 PetriNetUnfolderBase]: For 5/5 co-relation queries the response was YES. [2024-06-14 16:13:52,348 INFO L83 FinitePrefix]: Finished finitePrefix Result has 102 conditions, 47 events. 10/47 cut-off events. For 5/5 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 62 event pairs, 2 based on Foata normal form. 1/48 useless extension candidates. Maximal degree in co-relation 87. Up to 14 conditions per place. [2024-06-14 16:13:52,349 INFO L140 encePairwiseOnDemand]: 19/27 looper letters, 12 selfloop transitions, 7 changer transitions 0/23 dead transitions. [2024-06-14 16:13:52,349 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 29 places, 23 transitions, 99 flow [2024-06-14 16:13:52,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-06-14 16:13:52,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-06-14 16:13:52,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2024-06-14 16:13:52,352 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4074074074074074 [2024-06-14 16:13:52,352 INFO L175 Difference]: Start difference. First operand has 25 places, 19 transitions, 51 flow. Second operand 5 states and 55 transitions. [2024-06-14 16:13:52,352 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 29 places, 23 transitions, 99 flow [2024-06-14 16:13:52,353 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 27 places, 23 transitions, 93 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-06-14 16:13:52,355 INFO L231 Difference]: Finished difference. Result has 28 places, 19 transitions, 63 flow [2024-06-14 16:13:52,357 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=27, PETRI_DIFFERENCE_MINUEND_FLOW=45, PETRI_DIFFERENCE_MINUEND_PLACES=23, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=19, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=12, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=63, PETRI_PLACES=28, PETRI_TRANSITIONS=19} [2024-06-14 16:13:52,357 INFO L281 CegarLoopForPetriNet]: 23 programPoint places, 5 predicate places. [2024-06-14 16:13:52,358 INFO L495 AbstractCegarLoop]: Abstraction has has 28 places, 19 transitions, 63 flow [2024-06-14 16:13:52,358 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 8.8) internal successors, (44), 5 states have internal predecessors, (44), 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 16:13:52,359 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-14 16:13:52,362 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-14 16:13:52,362 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-06-14 16:13:52,363 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-06-14 16:13:52,365 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-14 16:13:52,366 INFO L85 PathProgramCache]: Analyzing trace with hash -126264686, now seen corresponding path program 1 times [2024-06-14 16:13:52,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-14 16:13:52,366 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1417590767] [2024-06-14 16:13:52,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-14 16:13:52,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-14 16:13:52,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-14 16:13:52,594 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 16:13:52,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-14 16:13:52,595 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1417590767] [2024-06-14 16:13:52,595 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1417590767] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-14 16:13:52,595 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-14 16:13:52,596 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-06-14 16:13:52,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1099647890] [2024-06-14 16:13:52,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-14 16:13:52,599 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-06-14 16:13:52,600 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-14 16:13:52,600 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-06-14 16:13:52,601 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2024-06-14 16:13:52,605 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 27 [2024-06-14 16:13:52,606 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 28 places, 19 transitions, 63 flow. Second operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 4 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 16:13:52,606 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-14 16:13:52,606 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 27 [2024-06-14 16:13:52,606 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-14 16:13:52,647 INFO L124 PetriNetUnfolderBase]: 9/39 cut-off events. [2024-06-14 16:13:52,647 INFO L125 PetriNetUnfolderBase]: For 12/12 co-relation queries the response was YES. [2024-06-14 16:13:52,648 INFO L83 FinitePrefix]: Finished finitePrefix Result has 96 conditions, 39 events. 9/39 cut-off events. For 12/12 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 35 event pairs, 2 based on Foata normal form. 2/41 useless extension candidates. Maximal degree in co-relation 81. Up to 12 conditions per place. [2024-06-14 16:13:52,648 INFO L140 encePairwiseOnDemand]: 22/27 looper letters, 0 selfloop transitions, 0 changer transitions 20/20 dead transitions. [2024-06-14 16:13:52,649 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 30 places, 20 transitions, 93 flow [2024-06-14 16:13:52,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-06-14 16:13:52,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-06-14 16:13:52,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 45 transitions. [2024-06-14 16:13:52,651 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4166666666666667 [2024-06-14 16:13:52,651 INFO L175 Difference]: Start difference. First operand has 28 places, 19 transitions, 63 flow. Second operand 4 states and 45 transitions. [2024-06-14 16:13:52,651 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 30 places, 20 transitions, 93 flow [2024-06-14 16:13:52,653 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 24 places, 20 transitions, 74 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-06-14 16:13:52,654 INFO L231 Difference]: Finished difference. Result has 24 places, 0 transitions, 0 flow [2024-06-14 16:13:52,655 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=27, PETRI_DIFFERENCE_MINUEND_FLOW=38, PETRI_DIFFERENCE_MINUEND_PLACES=21, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=18, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=18, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=0, PETRI_PLACES=24, PETRI_TRANSITIONS=0} [2024-06-14 16:13:52,656 INFO L281 CegarLoopForPetriNet]: 23 programPoint places, 1 predicate places. [2024-06-14 16:13:52,656 INFO L495 AbstractCegarLoop]: Abstraction has has 24 places, 0 transitions, 0 flow [2024-06-14 16:13:52,657 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 4 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 16:13:52,660 INFO L805 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 2 remaining) [2024-06-14 16:13:52,660 INFO L805 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 2 remaining) [2024-06-14 16:13:52,660 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-06-14 16:13:52,660 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2024-06-14 16:13:52,664 INFO L229 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-06-14 16:13:52,664 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2024-06-14 16:13:52,668 INFO L507 ceAbstractionStarter]: Automizer considered 1 witness invariants [2024-06-14 16:13:52,668 INFO L508 ceAbstractionStarter]: WitnessConsidered=1 [2024-06-14 16:13:52,669 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.06 04:13:52 BasicIcfg [2024-06-14 16:13:52,669 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-06-14 16:13:52,669 INFO L158 Benchmark]: Toolchain (without parser) took 2374.38ms. Allocated memory was 136.3MB in the beginning and 182.5MB in the end (delta: 46.1MB). Free memory was 59.3MB in the beginning and 136.0MB in the end (delta: -76.7MB). There was no memory consumed. Max. memory is 16.1GB. [2024-06-14 16:13:52,671 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 136.3MB. Free memory is still 87.5MB. There was no memory consumed. Max. memory is 16.1GB. [2024-06-14 16:13:52,671 INFO L158 Benchmark]: Witness Parser took 0.18ms. Allocated memory is still 136.3MB. Free memory is still 63.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-06-14 16:13:52,673 INFO L158 Benchmark]: CACSL2BoogieTranslator took 485.23ms. Allocated memory is still 136.3MB. Free memory was 59.1MB in the beginning and 92.6MB in the end (delta: -33.6MB). Peak memory consumption was 15.3MB. Max. memory is 16.1GB. [2024-06-14 16:13:52,674 INFO L158 Benchmark]: Boogie Procedure Inliner took 54.19ms. Allocated memory is still 136.3MB. Free memory was 92.6MB in the beginning and 90.5MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-06-14 16:13:52,674 INFO L158 Benchmark]: Boogie Preprocessor took 39.05ms. Allocated memory is still 136.3MB. Free memory was 90.5MB in the beginning and 88.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-06-14 16:13:52,674 INFO L158 Benchmark]: RCFGBuilder took 414.10ms. Allocated memory is still 136.3MB. Free memory was 88.4MB in the beginning and 61.2MB in the end (delta: 27.3MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. [2024-06-14 16:13:52,674 INFO L158 Benchmark]: TraceAbstraction took 1376.84ms. Allocated memory was 136.3MB in the beginning and 182.5MB in the end (delta: 46.1MB). Free memory was 60.5MB in the beginning and 136.0MB in the end (delta: -75.5MB). There was no memory consumed. Max. memory is 16.1GB. [2024-06-14 16:13:52,679 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16ms. Allocated memory is still 136.3MB. Free memory is still 87.5MB. There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.18ms. Allocated memory is still 136.3MB. Free memory is still 63.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 485.23ms. Allocated memory is still 136.3MB. Free memory was 59.1MB in the beginning and 92.6MB in the end (delta: -33.6MB). Peak memory consumption was 15.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 54.19ms. Allocated memory is still 136.3MB. Free memory was 92.6MB in the beginning and 90.5MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 39.05ms. Allocated memory is still 136.3MB. Free memory was 90.5MB in the beginning and 88.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 414.10ms. Allocated memory is still 136.3MB. Free memory was 88.4MB in the beginning and 61.2MB in the end (delta: 27.3MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. * TraceAbstraction took 1376.84ms. Allocated memory was 136.3MB in the beginning and 182.5MB in the end (delta: 46.1MB). Free memory was 60.5MB in the beginning and 136.0MB in the end (delta: -75.5MB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 698]: invariant of correctness witness holds For all program executions holds that invariant of correctness witness holds at this location - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 3 procedures, 43 locations, 2 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 1.3s, OverallIterations: 3, TraceHistogramMax: 1, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 34 SdHoareTripleChecker+Valid, 0.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 25 mSDsluCounter, 2 SdHoareTripleChecker+Invalid, 0.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 2 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 108 IncrementalHoareTripleChecker+Invalid, 110 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 2 mSolverCounterUnsat, 2 mSDtfsCounter, 108 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=63occurred in iteration=2, InterpolantAutomatonStates: 12, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.6s InterpolantComputationTime, 29 NumberOfCodeBlocks, 29 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 26 ConstructedInterpolants, 0 QuantifiedInterpolants, 79 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold RESULT: Ultimate proved your program to be correct! [2024-06-14 16:13:52,715 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE