./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread-wmm/mix053_tso.oepc.i --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --validate ./goblint.2024-02-07_10-47-16.files/SV-COMP24_unreach-call/mix053_tso.oepc.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version e7c74aec 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-wmm/mix053_tso.oepc.i ./goblint.2024-02-07_10-47-16.files/SV-COMP24_unreach-call/mix053_tso.oepc.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 --- Real Ultimate output --- This is Ultimate 0.2.4-wip.fs.fix-undeclared-acsl-variable-e7c74ae-m [2024-02-07 19:28:40,405 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-07 19:28:40,466 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-02-07 19:28:40,471 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-07 19:28:40,472 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-07 19:28:40,498 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-07 19:28:40,499 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-07 19:28:40,499 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-07 19:28:40,500 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-02-07 19:28:40,503 INFO L153 SettingsManager]: * Use memory slicer=true [2024-02-07 19:28:40,503 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-02-07 19:28:40,504 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-02-07 19:28:40,504 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-07 19:28:40,505 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-07 19:28:40,506 INFO L153 SettingsManager]: * Use SBE=true [2024-02-07 19:28:40,506 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-07 19:28:40,506 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-02-07 19:28:40,506 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-07 19:28:40,507 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-07 19:28:40,507 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-07 19:28:40,507 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-07 19:28:40,508 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-02-07 19:28:40,508 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-02-07 19:28:40,508 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-02-07 19:28:40,508 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-02-07 19:28:40,508 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-07 19:28:40,509 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-07 19:28:40,509 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-07 19:28:40,509 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-07 19:28:40,510 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-07 19:28:40,510 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-02-07 19:28:40,511 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-02-07 19:28:40,511 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-07 19:28:40,511 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-07 19:28:40,511 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-02-07 19:28:40,511 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-02-07 19:28:40,512 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-07 19:28:40,512 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-02-07 19:28:40,512 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-07 19:28:40,512 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-02-07 19:28:40,512 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-02-07 19:28:40,513 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-02-07 19:28:40,513 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-02-07 19:28:40,513 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 [2024-02-07 19:28:40,749 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-07 19:28:40,770 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-07 19:28:40,772 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-07 19:28:40,773 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-02-07 19:28:40,774 INFO L274 PluginConnector]: Witness Parser initialized [2024-02-07 19:28:40,774 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./goblint.2024-02-07_10-47-16.files/SV-COMP24_unreach-call/mix053_tso.oepc.yml/witness.yml [2024-02-07 19:28:40,968 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-07 19:28:40,969 INFO L274 PluginConnector]: CDTParser initialized [2024-02-07 19:28:40,969 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-wmm/mix053_tso.oepc.i [2024-02-07 19:28:42,046 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-07 19:28:42,276 INFO L384 CDTParser]: Found 1 translation units. [2024-02-07 19:28:42,277 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/mix053_tso.oepc.i [2024-02-07 19:28:42,292 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4258fc037/5ab6b89769044dba8ca6d5fa2ff97307/FLAG2db0fcf14 [2024-02-07 19:28:42,302 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4258fc037/5ab6b89769044dba8ca6d5fa2ff97307 [2024-02-07 19:28:42,307 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-07 19:28:42,308 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-02-07 19:28:42,309 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-07 19:28:42,309 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-07 19:28:42,313 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-07 19:28:42,314 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 07.02 07:28:40" (1/2) ... [2024-02-07 19:28:42,314 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c0141f1 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 07.02 07:28:42, skipping insertion in model container [2024-02-07 19:28:42,315 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 07.02 07:28:40" (1/2) ... [2024-02-07 19:28:42,316 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@5acbd36c and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 07.02 07:28:42, skipping insertion in model container [2024-02-07 19:28:42,316 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 07:28:42" (2/2) ... [2024-02-07 19:28:42,316 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c0141f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:42, skipping insertion in model container [2024-02-07 19:28:42,316 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 07:28:42" (2/2) ... [2024-02-07 19:28:42,317 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-02-07 19:28:42,469 INFO L74 edCorrectnessWitness]: Found the following entries in the witness: [2024-02-07 19:28:42,471 INFO L76 edCorrectnessWitness]: Location invariant before [L771-L771] (y$r_buff1_thd2 == (_Bool)0 && (y$w_buff1_used == (_Bool)1 || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd2 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,471 INFO L76 edCorrectnessWitness]: Location invariant before [L767-L767] y == 1 [2024-02-07 19:28:42,471 INFO L76 edCorrectnessWitness]: Location invariant before [L797-L797] ((0 <= __unbuffered_p2_EAX) && (__unbuffered_p2_EAX <= 1)) && (__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) [2024-02-07 19:28:42,471 INFO L76 edCorrectnessWitness]: Location invariant before [L794-L794] y$r_buff0_thd3 == (_Bool)1 [2024-02-07 19:28:42,471 INFO L76 edCorrectnessWitness]: Location invariant before [L822-L822] (y$r_buff0_thd4 == (_Bool)0) && (y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,472 INFO L76 edCorrectnessWitness]: Location invariant before [L756-L756] 0 <= __unbuffered_cnt [2024-02-07 19:28:42,472 INFO L76 edCorrectnessWitness]: Location invariant before [L863-L863] weak$$choice2 == (_Bool)0 || weak$$choice2 == (_Bool)1 [2024-02-07 19:28:42,472 INFO L76 edCorrectnessWitness]: Location invariant before [L876-L876] main$tmp_guard1 == (_Bool)0 || main$tmp_guard1 == (_Bool)1 [2024-02-07 19:28:42,473 INFO L76 edCorrectnessWitness]: Location invariant before [L800-L800] (y$w_buff0_used == (_Bool)1) && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1) [2024-02-07 19:28:42,473 INFO L76 edCorrectnessWitness]: Location invariant before [L862-L862] weak$$choice0 == (_Bool)0 || weak$$choice0 == (_Bool)1 [2024-02-07 19:28:42,473 INFO L76 edCorrectnessWitness]: Location invariant before [L749-L749] a == 1 [2024-02-07 19:28:42,473 INFO L76 edCorrectnessWitness]: Location invariant before [L792-L792] (y$r_buff0_thd4 == (_Bool)0) && (y$r_buff1_thd3 == (_Bool)0 || y$r_buff1_thd3 == (_Bool)1) [2024-02-07 19:28:42,473 INFO L76 edCorrectnessWitness]: Location invariant before [L783-L783] ((((0 <= y$w_buff0) && (y$w_buff0 <= 2)) && (y$w_buff0 <= 127)) && (y$w_buff0 % 2 == 0)) && (y$w_buff0 == 0 || y$w_buff0 == 2) [2024-02-07 19:28:42,473 INFO L76 edCorrectnessWitness]: Location invariant before [L820-L820] (y$r_buff0_thd4 == (_Bool)0) && (y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,473 INFO L76 edCorrectnessWitness]: Location invariant before [L874-L874] (((0 <= y) && (y <= 2)) && (y <= 127)) && ((y == 0 || y == 1) || y == 2) [2024-02-07 19:28:42,474 INFO L76 edCorrectnessWitness]: Location invariant before [L816-L816] ((0 <= a) && (a <= 1)) && (a == 0 || a == 1) [2024-02-07 19:28:42,474 INFO L76 edCorrectnessWitness]: Location invariant before [L769-L769] (y$r_buff1_thd2 == (_Bool)0 && y$w_buff1_used == (_Bool)1) || (y$r_buff0_thd2 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,474 INFO L76 edCorrectnessWitness]: Location invariant before [L790-L790] (y$r_buff0_thd2 == (_Bool)0) && (y$r_buff1_thd1 == (_Bool)0) [2024-02-07 19:28:42,474 INFO L76 edCorrectnessWitness]: Location invariant before [L777-L777] 1 <= __unbuffered_cnt [2024-02-07 19:28:42,474 INFO L76 edCorrectnessWitness]: Location invariant before [L824-L824] y$r_buff1_thd4 == (_Bool)0 [2024-02-07 19:28:42,474 INFO L76 edCorrectnessWitness]: Location invariant before [L806-L806] 0 <= __unbuffered_cnt [2024-02-07 19:28:42,475 INFO L76 edCorrectnessWitness]: Location invariant before [L869-L869] ((((y$r_buff1_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) && y$w_buff1_used == (_Bool)1) || y$r_buff0_thd0 == (_Bool)0) || (((y$r_buff0_thd0 == (_Bool)0 && y$r_buff1_thd0 == (_Bool)0) && y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) [2024-02-07 19:28:42,475 INFO L76 edCorrectnessWitness]: Location invariant before [L801-L801] (y$r_buff1_thd3 == (_Bool)0 || y$r_buff1_thd3 == (_Bool)1) && (((y$w_buff1_used == (_Bool)1 && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1)) || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) || (y$w_buff0_used == (_Bool)1 && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1))) [2024-02-07 19:28:42,475 INFO L76 edCorrectnessWitness]: Location invariant before [L776-L776] 0 <= __unbuffered_cnt [2024-02-07 19:28:42,475 INFO L76 edCorrectnessWitness]: Location invariant before [L796-L796] ((0 <= z) && (z <= 1)) && (z == 0 || z == 1) [2024-02-07 19:28:42,475 INFO L76 edCorrectnessWitness]: Location invariant before [L855-L855] (y$r_buff0_thd0 == (_Bool)0) && (y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,476 INFO L76 edCorrectnessWitness]: Location invariant before [L858-L858] (y$r_buff1_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)1 || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,476 INFO L76 edCorrectnessWitness]: Location invariant before [L872-L872] ((((0 <= __unbuffered_p3_EAX) && (__unbuffered_p3_EAX <= 1)) && (x == 2)) && (__unbuffered_p3_EAX == 0 || __unbuffered_p3_EAX == 1)) && ((y == 2 && (__unbuffered_p2_EAX == 0 || ((0 <= __unbuffered_p2_EAX && __unbuffered_p2_EAX <= 1) && (__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1)))) || ((((((0 <= __unbuffered_p2_EAX && 0 <= y) && __unbuffered_p2_EAX <= 1) && y <= 2) && y <= 127) && (__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1)) && ((y == 0 || y == 1) || y == 2))) [2024-02-07 19:28:42,476 INFO L76 edCorrectnessWitness]: Location invariant before [L786-L786] y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1 [2024-02-07 19:28:42,476 INFO L76 edCorrectnessWitness]: Location invariant before [L18-L18] ((0 <= expression) && (expression <= 1)) && (expression == 0 || expression == 1) [2024-02-07 19:28:42,476 INFO L76 edCorrectnessWitness]: Location invariant before [L854-L854] (y$r_buff1_thd0 == (_Bool)0 && y$w_buff1_used == (_Bool)1) || (y$r_buff0_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,476 INFO L76 edCorrectnessWitness]: Location invariant before [L757-L757] 1 <= __unbuffered_cnt [2024-02-07 19:28:42,476 INFO L76 edCorrectnessWitness]: Location invariant before [L823-L823] (y$r_buff1_thd4 == (_Bool)0 && (y$w_buff1_used == (_Bool)1 || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd4 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,477 INFO L76 edCorrectnessWitness]: Location invariant before [L787-L787] (y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)1) [2024-02-07 19:28:42,477 INFO L76 edCorrectnessWitness]: Location invariant before [L752-L752] x == 1 [2024-02-07 19:28:42,477 INFO L76 edCorrectnessWitness]: Location invariant before [L785-L785] (y$w_buff0 == 2) && (y$w_buff0_used == (_Bool)0 || y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,477 INFO L76 edCorrectnessWitness]: Location invariant before [L850-L850] 0 <= __unbuffered_cnt [2024-02-07 19:28:42,478 INFO L76 edCorrectnessWitness]: Location invariant before [L857-L857] (y$r_buff0_thd0 == (_Bool)0) && (y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,479 INFO L76 edCorrectnessWitness]: Location invariant before [L788-L788] y$r_buff0_thd0 == (_Bool)0 [2024-02-07 19:28:42,479 INFO L76 edCorrectnessWitness]: Location invariant before [L807-L807] 1 <= __unbuffered_cnt [2024-02-07 19:28:42,479 INFO L76 edCorrectnessWitness]: Location invariant before [L868-L868] ((((y$r_buff1_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) && y$w_buff1_used == (_Bool)1) || y$r_buff0_thd0 == (_Bool)0) || (((y$r_buff0_thd0 == (_Bool)0 && y$r_buff1_thd0 == (_Bool)0) && y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) [2024-02-07 19:28:42,479 INFO L76 edCorrectnessWitness]: Location invariant before [L866-L866] ((((y$r_buff1_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) && y$w_buff1_used == (_Bool)1) || y$r_buff0_thd0 == (_Bool)0) || (((y$r_buff0_thd0 == (_Bool)0 && y$r_buff1_thd0 == (_Bool)0) && y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) [2024-02-07 19:28:42,479 INFO L76 edCorrectnessWitness]: Location invariant before [L784-L784] ((((0 <= y$w_buff1) && (y$w_buff1 <= 2)) && (y$w_buff1 <= 127)) && (y$w_buff1 % 2 == 0)) && (y$w_buff1 == 0 || y$w_buff1 == 2) [2024-02-07 19:28:42,479 INFO L76 edCorrectnessWitness]: Location invariant before [L867-L867] ((((y$r_buff1_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) && y$w_buff1_used == (_Bool)1) || y$r_buff0_thd0 == (_Bool)0) || (((y$r_buff0_thd0 == (_Bool)0 && y$r_buff1_thd0 == (_Bool)0) && y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) [2024-02-07 19:28:42,480 INFO L76 edCorrectnessWitness]: Location invariant before [L772-L772] (y$r_buff0_thd2 == (_Bool)0) && (y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,480 INFO L76 edCorrectnessWitness]: Location invariant before [L799-L799] (y$w_buff1_used == (_Bool)1 && (y$r_buff1_thd3 == (_Bool)0 || y$r_buff1_thd3 == (_Bool)1)) || (y$w_buff0_used == (_Bool)1 && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1)) [2024-02-07 19:28:42,480 INFO L76 edCorrectnessWitness]: Location invariant before [L870-L870] ((((y$r_buff1_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) && y$w_buff1_used == (_Bool)1) || y$r_buff0_thd0 == (_Bool)0) || (((y$r_buff0_thd0 == (_Bool)0 && y$r_buff1_thd0 == (_Bool)0) && y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) [2024-02-07 19:28:42,480 INFO L76 edCorrectnessWitness]: Location invariant before [L817-L817] ((0 <= __unbuffered_p3_EAX) && (__unbuffered_p3_EAX <= 1)) && (__unbuffered_p3_EAX == 0 || __unbuffered_p3_EAX == 1) [2024-02-07 19:28:42,480 INFO L76 edCorrectnessWitness]: Location invariant before [L802-L802] (y$w_buff0_used == (_Bool)1) && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1) [2024-02-07 19:28:42,481 INFO L76 edCorrectnessWitness]: Location invariant before [L773-L773] (y$r_buff1_thd2 == (_Bool)0 && (y$w_buff1_used == (_Bool)1 || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd2 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,481 INFO L76 edCorrectnessWitness]: Location invariant before [L859-L859] y$r_buff1_thd0 == (_Bool)0 [2024-02-07 19:28:42,481 INFO L76 edCorrectnessWitness]: Location invariant before [L803-L803] (y$r_buff1_thd3 == (_Bool)0 || y$r_buff1_thd3 == (_Bool)1) && (((y$w_buff1_used == (_Bool)1 && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1)) || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) || (y$w_buff0_used == (_Bool)1 && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1))) [2024-02-07 19:28:42,481 INFO L76 edCorrectnessWitness]: Location invariant before [L770-L770] (y$r_buff0_thd2 == (_Bool)0) && (y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,481 INFO L76 edCorrectnessWitness]: Location invariant before [L764-L764] x == 2 [2024-02-07 19:28:42,482 INFO L76 edCorrectnessWitness]: Location invariant before [L852-L852] main$tmp_guard0 == (_Bool)0 || main$tmp_guard0 == (_Bool)1 [2024-02-07 19:28:42,482 INFO L76 edCorrectnessWitness]: Location invariant before [L851-L851] main$tmp_guard0 == (_Bool)0 || main$tmp_guard0 == (_Bool)1 [2024-02-07 19:28:42,482 INFO L76 edCorrectnessWitness]: Location invariant before [L774-L774] y$r_buff1_thd2 == (_Bool)0 [2024-02-07 19:28:42,483 INFO L76 edCorrectnessWitness]: Location invariant before [L856-L856] (y$r_buff1_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)1 || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,483 INFO L76 edCorrectnessWitness]: Location invariant before [L827-L827] 1 <= __unbuffered_cnt [2024-02-07 19:28:42,483 INFO L76 edCorrectnessWitness]: Location invariant before [L793-L793] y$r_buff1_thd4 == (_Bool)0 [2024-02-07 19:28:42,483 INFO L76 edCorrectnessWitness]: Location invariant before [L819-L819] (y$r_buff1_thd4 == (_Bool)0 && y$w_buff1_used == (_Bool)1) || (y$r_buff0_thd4 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,483 INFO L76 edCorrectnessWitness]: Location invariant before [L814-L814] z == 1 [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L875-L875] y$flush_delayed == (_Bool)0 [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L865-L865] ((((y$r_buff1_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) && y$w_buff1_used == (_Bool)1) || y$r_buff0_thd0 == (_Bool)0) || (((y$r_buff0_thd0 == (_Bool)0 && y$r_buff1_thd0 == (_Bool)0) && y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L789-L789] (y$r_buff0_thd1 == (_Bool)0) && (y$r_buff1_thd0 == (_Bool)0) [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L864-L864] ((((0 <= y) && (y <= 2)) && (y <= 127)) && (y$flush_delayed == (_Bool)0 || y$flush_delayed == (_Bool)1)) && ((y == 0 || y == 1) || y == 2) [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L821-L821] (y$r_buff1_thd4 == (_Bool)0 && (y$w_buff1_used == (_Bool)1 || (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd4 == (_Bool)0 && y$w_buff0_used == (_Bool)1) [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L791-L791] (y$r_buff1_thd2 == (_Bool)0) && (y$r_buff0_thd3 == (_Bool)0 || y$r_buff0_thd3 == (_Bool)1) [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L804-L804] y$r_buff1_thd3 == (_Bool)0 || y$r_buff1_thd3 == (_Bool)1 [2024-02-07 19:28:42,484 INFO L76 edCorrectnessWitness]: Location invariant before [L871-L871] ((((y$r_buff1_thd0 == (_Bool)0 && y$w_buff0_used == (_Bool)1) && y$w_buff1_used == (_Bool)1) || y$r_buff0_thd0 == (_Bool)0) || (((y$r_buff0_thd0 == (_Bool)0 && y$r_buff1_thd0 == (_Bool)0) && y$w_buff0_used == (_Bool)1) && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1))) || (y$r_buff0_thd0 == (_Bool)0 && (y$w_buff1_used == (_Bool)0 || y$w_buff1_used == (_Bool)1)) [2024-02-07 19:28:42,485 INFO L76 edCorrectnessWitness]: Location invariant before [L826-L826] 0 <= __unbuffered_cnt [2024-02-07 19:28:42,526 INFO L181 MainTranslator]: Built tables and reachable declarations [2024-02-07 19:28:42,680 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/mix053_tso.oepc.i[949,962] [2024-02-07 19:28:42,887 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-02-07 19:28:42,897 INFO L206 MainTranslator]: Completed pre-run Start Parsing Local [2024-02-07 19:28:42,928 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/mix053_tso.oepc.i[949,962] 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 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 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 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-02-07 19:28:43,038 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-02-07 19:28:43,090 INFO L211 MainTranslator]: Completed translation [2024-02-07 19:28:43,090 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43 WrapperNode [2024-02-07 19:28:43,091 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-07 19:28:43,091 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-02-07 19:28:43,091 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-02-07 19:28:43,091 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-02-07 19:28:43,096 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,125 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,172 INFO L138 Inliner]: procedures = 177, calls = 67, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 206 [2024-02-07 19:28:43,173 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-02-07 19:28:43,176 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-02-07 19:28:43,176 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-02-07 19:28:43,176 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-02-07 19:28:43,185 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,185 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,198 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,226 INFO L175 MemorySlicer]: Split 6 memory accesses to 5 slices as follows [2, 1, 1, 1, 1]. 33 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0]. The 4 writes are split as follows [0, 1, 1, 1, 1]. [2024-02-07 19:28:43,228 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,228 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,240 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,248 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,258 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,260 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,263 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-02-07 19:28:43,266 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-02-07 19:28:43,266 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-02-07 19:28:43,266 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-02-07 19:28:43,267 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (1/1) ... [2024-02-07 19:28:43,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-07 19:28:43,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-07 19:28:43,296 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-02-07 19:28:43,313 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-02-07 19:28:43,324 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-02-07 19:28:43,324 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-02-07 19:28:43,324 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-02-07 19:28:43,324 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-02-07 19:28:43,325 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-02-07 19:28:43,325 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-02-07 19:28:43,325 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-02-07 19:28:43,325 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-02-07 19:28:43,326 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-02-07 19:28:43,326 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2024-02-07 19:28:43,326 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2024-02-07 19:28:43,326 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2024-02-07 19:28:43,326 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2024-02-07 19:28:43,326 INFO L130 BoogieDeclarations]: Found specification of procedure P2 [2024-02-07 19:28:43,326 INFO L138 BoogieDeclarations]: Found implementation of procedure P2 [2024-02-07 19:28:43,327 INFO L130 BoogieDeclarations]: Found specification of procedure P3 [2024-02-07 19:28:43,327 INFO L138 BoogieDeclarations]: Found implementation of procedure P3 [2024-02-07 19:28:43,327 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-02-07 19:28:43,327 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-02-07 19:28:43,327 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-02-07 19:28:43,327 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-02-07 19:28:43,327 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-02-07 19:28:43,328 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-02-07 19:28:43,328 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-02-07 19:28:43,328 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-02-07 19:28:43,329 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-02-07 19:28:43,474 INFO L244 CfgBuilder]: Building ICFG [2024-02-07 19:28:43,476 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-02-07 19:28:43,929 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-02-07 19:28:43,929 INFO L293 CfgBuilder]: Performing block encoding [2024-02-07 19:28:44,364 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-02-07 19:28:44,364 INFO L320 CfgBuilder]: Removed 0 assume(true) statements. [2024-02-07 19:28:44,365 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.02 07:28:44 BoogieIcfgContainer [2024-02-07 19:28:44,365 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-02-07 19:28:44,369 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-02-07 19:28:44,369 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-02-07 19:28:44,371 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-02-07 19:28:44,371 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 07.02 07:28:40" (1/4) ... [2024-02-07 19:28:44,372 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1754e50f and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 07.02 07:28:44, skipping insertion in model container [2024-02-07 19:28:44,373 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.02 07:28:42" (2/4) ... [2024-02-07 19:28:44,373 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1754e50f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 07:28:44, skipping insertion in model container [2024-02-07 19:28:44,373 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 07:28:43" (3/4) ... [2024-02-07 19:28:44,374 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1754e50f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 07:28:44, skipping insertion in model container [2024-02-07 19:28:44,374 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.02 07:28:44" (4/4) ... [2024-02-07 19:28:44,375 INFO L112 eAbstractionObserver]: Analyzing ICFG mix053_tso.oepc.i [2024-02-07 19:28:44,390 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-02-07 19:28:44,391 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 74 error locations. [2024-02-07 19:28:44,391 INFO L518 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-02-07 19:28:44,473 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-02-07 19:28:44,505 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 133 places, 121 transitions, 258 flow [2024-02-07 19:28:44,561 INFO L124 PetriNetUnfolderBase]: 1/117 cut-off events. [2024-02-07 19:28:44,561 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-02-07 19:28:44,566 INFO L83 FinitePrefix]: Finished finitePrefix Result has 130 conditions, 117 events. 1/117 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 24. Compared 594 event pairs, 0 based on Foata normal form. 0/42 useless extension candidates. Maximal degree in co-relation 121. Up to 2 conditions per place. [2024-02-07 19:28:44,566 INFO L82 GeneralOperation]: Start removeDead. Operand has 133 places, 121 transitions, 258 flow [2024-02-07 19:28:44,572 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 129 places, 117 transitions, 246 flow [2024-02-07 19:28:44,612 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-02-07 19:28:44,619 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;@725b59b1, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-02-07 19:28:44,620 INFO L358 AbstractCegarLoop]: Starting to check reachability of 127 error locations. [2024-02-07 19:28:44,627 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-07 19:28:44,628 INFO L124 PetriNetUnfolderBase]: 0/4 cut-off events. [2024-02-07 19:28:44,628 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-02-07 19:28:44,628 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-02-07 19:28:44,629 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1] [2024-02-07 19:28:44,629 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting P0Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [P0Err0ASSERT_VIOLATIONWITNESS_INVARIANT, P0Err1ASSERT_VIOLATIONWITNESS_INVARIANT, P0Err2ASSERT_VIOLATIONWITNESS_INVARIANT (and 124 more)] === [2024-02-07 19:28:44,635 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-07 19:28:44,636 INFO L85 PathProgramCache]: Analyzing trace with hash 24573127, now seen corresponding path program 1 times [2024-02-07 19:28:44,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-07 19:28:44,644 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914682516] [2024-02-07 19:28:44,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-07 19:28:44,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-07 19:28:44,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-07 19:28:44,862 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-07 19:28:44,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-07 19:28:44,865 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1914682516] [2024-02-07 19:28:44,866 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1914682516] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-07 19:28:44,866 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-07 19:28:44,871 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-02-07 19:28:44,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [373882676] [2024-02-07 19:28:44,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-07 19:28:44,879 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-02-07 19:28:44,884 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-07 19:28:44,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-02-07 19:28:44,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-02-07 19:28:44,909 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 16 out of 121 [2024-02-07 19:28:44,912 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 129 places, 117 transitions, 246 flow. Second operand has 2 states, 2 states have (on average 17.5) internal successors, (35), 2 states have internal predecessors, (35), 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-02-07 19:28:44,912 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-07 19:28:44,912 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 16 of 121 [2024-02-07 19:28:44,913 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-07 19:29:09,428 INFO L124 PetriNetUnfolderBase]: 202919/281279 cut-off events. [2024-02-07 19:29:09,428 INFO L125 PetriNetUnfolderBase]: For 279/279 co-relation queries the response was YES. [2024-02-07 19:29:10,045 INFO L83 FinitePrefix]: Finished finitePrefix Result has 545071 conditions, 281279 events. 202919/281279 cut-off events. For 279/279 co-relation queries the response was YES. Maximal size of possible extension queue 14611. Compared 2305707 event pairs, 202919 based on Foata normal form. 3000/147631 useless extension candidates. Maximal degree in co-relation 545059. Up to 263053 conditions per place. [2024-02-07 19:29:11,183 INFO L140 encePairwiseOnDemand]: 83/121 looper letters, 53 selfloop transitions, 0 changer transitions 0/65 dead transitions. [2024-02-07 19:29:11,184 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 79 places, 65 transitions, 248 flow [2024-02-07 19:29:11,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-02-07 19:29:11,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2024-02-07 19:29:11,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 123 transitions. [2024-02-07 19:29:11,193 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5082644628099173 [2024-02-07 19:29:11,195 INFO L175 Difference]: Start difference. First operand has 129 places, 117 transitions, 246 flow. Second operand 2 states and 123 transitions. [2024-02-07 19:29:11,196 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 79 places, 65 transitions, 248 flow [2024-02-07 19:29:11,208 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 75 places, 65 transitions, 244 flow, removed 0 selfloop flow, removed 4 redundant places. [2024-02-07 19:29:11,210 INFO L231 Difference]: Finished difference. Result has 75 places, 65 transitions, 138 flow [2024-02-07 19:29:11,211 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=121, PETRI_DIFFERENCE_MINUEND_FLOW=138, PETRI_DIFFERENCE_MINUEND_PLACES=74, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=65, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=65, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=138, PETRI_PLACES=75, PETRI_TRANSITIONS=65} [2024-02-07 19:29:11,214 INFO L281 CegarLoopForPetriNet]: 129 programPoint places, -54 predicate places. [2024-02-07 19:29:11,214 INFO L495 AbstractCegarLoop]: Abstraction has has 75 places, 65 transitions, 138 flow [2024-02-07 19:29:11,214 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 17.5) internal successors, (35), 2 states have internal predecessors, (35), 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-02-07 19:29:11,215 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-02-07 19:29:11,215 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2024-02-07 19:29:11,215 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-02-07 19:29:11,215 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting P0Err2ASSERT_VIOLATIONWITNESS_INVARIANT === [P0Err0ASSERT_VIOLATIONWITNESS_INVARIANT, P0Err1ASSERT_VIOLATIONWITNESS_INVARIANT, P0Err2ASSERT_VIOLATIONWITNESS_INVARIANT (and 124 more)] === [2024-02-07 19:29:11,216 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-07 19:29:11,216 INFO L85 PathProgramCache]: Analyzing trace with hash 1914465969, now seen corresponding path program 1 times [2024-02-07 19:29:11,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-07 19:29:11,216 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [636021404] [2024-02-07 19:29:11,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-07 19:29:11,216 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-07 19:29:11,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-07 19:29:11,280 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-07 19:29:11,281 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-07 19:29:11,281 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [636021404] [2024-02-07 19:29:11,281 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [636021404] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-07 19:29:11,281 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-07 19:29:11,282 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-02-07 19:29:11,282 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1593260217] [2024-02-07 19:29:11,282 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-07 19:29:11,283 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-02-07 19:29:11,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-07 19:29:11,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-02-07 19:29:11,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-02-07 19:29:11,284 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 16 out of 121 [2024-02-07 19:29:11,285 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 75 places, 65 transitions, 138 flow. Second operand has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 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-02-07 19:29:11,285 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-07 19:29:11,285 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 16 of 121 [2024-02-07 19:29:11,285 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand