/root/.sdkman/candidates/java/current/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf --buchiautomizer.automaton.type.for.concurrent.programs BUCHI_PETRI_NET --buchiautomizer.use.buchi.petri.net.intersection.optimizations true --buchiautomizer.use.automata.for.buchi.petri.net.emptiness.check false -tc ../../../trunk/examples/toolchains/BuchiAutomizerBplInline.xml -i ../../../trunk/examples/concurrent/bpl/POPL2023/optimistic-concurrency1.bpl -------------------------------------------------------------------------------- This is Ultimate 0.2.3-?-9ecb849-m [2024-02-10 01:01:58,776 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-10 01:01:58,832 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf [2024-02-10 01:01:58,846 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-10 01:01:58,847 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-10 01:01:58,848 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.Only consider context switches at boundaries of atomic blocks [2024-02-10 01:01:58,896 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-10 01:01:58,897 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-10 01:01:58,899 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-10 01:01:58,901 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-10 01:01:58,901 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-10 01:01:58,902 INFO L153 SettingsManager]: * Use SBE=true [2024-02-10 01:01:58,902 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-02-10 01:01:58,902 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-02-10 01:01:58,902 INFO L153 SettingsManager]: * Use old map elimination=false [2024-02-10 01:01:58,903 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-02-10 01:01:58,903 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-02-10 01:01:58,903 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-02-10 01:01:58,904 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-10 01:01:58,908 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-02-10 01:01:58,908 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-10 01:01:58,908 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-10 01:01:58,909 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-10 01:01:58,909 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-10 01:01:58,910 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-02-10 01:01:58,910 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-02-10 01:01:58,910 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-02-10 01:01:58,910 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-02-10 01:01:58,910 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-10 01:01:58,911 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-10 01:01:58,912 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-02-10 01:01:58,912 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-10 01:01:58,912 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-10 01:01:58,912 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-10 01:01:58,913 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-10 01:01:58,913 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-10 01:01:58,913 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-10 01:01:58,914 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-02-10 01:01:58,914 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR 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.buchiautomizer: Automaton type for concurrent programs -> BUCHI_PETRI_NET Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: Use Buchi Petri Net Intersection Optimizations -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: Use automata for Buchi Petri Net emptiness check -> false [2024-02-10 01:01:59,239 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-10 01:01:59,274 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-10 01:01:59,278 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-10 01:01:59,279 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2024-02-10 01:01:59,281 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2024-02-10 01:01:59,282 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/POPL2023/optimistic-concurrency1.bpl [2024-02-10 01:01:59,282 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/POPL2023/optimistic-concurrency1.bpl' [2024-02-10 01:01:59,316 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-10 01:01:59,318 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2024-02-10 01:01:59,319 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-02-10 01:01:59,319 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-02-10 01:01:59,319 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-02-10 01:01:59,331 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,339 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,345 INFO L138 Inliner]: procedures = 3, calls = 3, calls flagged for inlining = 0, calls inlined = 0, statements flattened = 0 [2024-02-10 01:01:59,347 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-02-10 01:01:59,348 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-02-10 01:01:59,349 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-02-10 01:01:59,349 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-02-10 01:01:59,375 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,376 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,377 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,377 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,403 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,410 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,411 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,412 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,413 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-02-10 01:01:59,414 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-02-10 01:01:59,414 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-02-10 01:01:59,414 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-02-10 01:01:59,421 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/1) ... [2024-02-10 01:01:59,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:01:59,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:01:59,467 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:01:59,476 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-02-10 01:01:59,517 INFO L124 BoogieDeclarations]: Specification and implementation of procedure reader given in one single declaration [2024-02-10 01:01:59,518 INFO L130 BoogieDeclarations]: Found specification of procedure reader [2024-02-10 01:01:59,518 INFO L138 BoogieDeclarations]: Found implementation of procedure reader [2024-02-10 01:01:59,518 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2024-02-10 01:01:59,518 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-02-10 01:01:59,518 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-02-10 01:01:59,518 INFO L124 BoogieDeclarations]: Specification and implementation of procedure writer given in one single declaration [2024-02-10 01:01:59,519 INFO L130 BoogieDeclarations]: Found specification of procedure writer [2024-02-10 01:01:59,519 INFO L138 BoogieDeclarations]: Found implementation of procedure writer [2024-02-10 01:01:59,520 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-02-10 01:01:59,570 INFO L236 CfgBuilder]: Building ICFG [2024-02-10 01:01:59,572 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2024-02-10 01:01:59,690 INFO L277 CfgBuilder]: Performing block encoding [2024-02-10 01:01:59,697 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-02-10 01:01:59,697 INFO L302 CfgBuilder]: Removed 0 assume(true) statements. [2024-02-10 01:01:59,699 INFO L201 PluginConnector]: Adding new model optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.02 01:01:59 BoogieIcfgContainer [2024-02-10 01:01:59,700 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-02-10 01:01:59,701 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-02-10 01:01:59,701 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-02-10 01:01:59,704 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-02-10 01:01:59,705 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-10 01:01:59,705 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.02 01:01:59" (1/2) ... [2024-02-10 01:01:59,712 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@760871bb and model type optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.02 01:01:59, skipping insertion in model container [2024-02-10 01:01:59,713 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-10 01:01:59,713 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.02 01:01:59" (2/2) ... [2024-02-10 01:01:59,715 INFO L332 chiAutomizerObserver]: Analyzing ICFG optimistic-concurrency1.bpl [2024-02-10 01:01:59,821 INFO L144 ThreadInstanceAdder]: Constructed 5 joinOtherThreadTransitions. [2024-02-10 01:01:59,847 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 45 places, 44 transitions, 115 flow [2024-02-10 01:01:59,877 INFO L124 PetriNetUnfolderBase]: 4/36 cut-off events. [2024-02-10 01:01:59,877 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-02-10 01:01:59,883 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 4/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 48 event pairs, 0 based on Foata normal form. 0/30 useless extension candidates. Maximal degree in co-relation 31. Up to 2 conditions per place. [2024-02-10 01:01:59,883 INFO L82 GeneralOperation]: Start removeDead. Operand has 45 places, 44 transitions, 115 flow [2024-02-10 01:01:59,887 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 42 places, 36 transitions, 90 flow [2024-02-10 01:01:59,896 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2024-02-10 01:01:59,896 INFO L304 stractBuchiCegarLoop]: Hoare is false [2024-02-10 01:01:59,896 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-02-10 01:01:59,896 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-02-10 01:01:59,896 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-02-10 01:01:59,897 INFO L308 stractBuchiCegarLoop]: Difference is false [2024-02-10 01:01:59,897 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-02-10 01:01:59,897 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiPetriNetCegarLoop ======== [2024-02-10 01:01:59,898 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 42 places, 36 transitions, 90 flow [2024-02-10 01:01:59,905 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-10 01:01:59,905 INFO L124 PetriNetUnfolderBase]: 0/14 cut-off events. [2024-02-10 01:01:59,906 INFO L125 PetriNetUnfolderBase]: For 1/1 co-relation queries the response was YES. [2024-02-10 01:01:59,906 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-10 01:01:59,911 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-02-10 01:01:59,911 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 42 places, 36 transitions, 90 flow [2024-02-10 01:01:59,917 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-10 01:01:59,918 INFO L124 PetriNetUnfolderBase]: 0/14 cut-off events. [2024-02-10 01:01:59,918 INFO L125 PetriNetUnfolderBase]: For 1/1 co-relation queries the response was YES. [2024-02-10 01:01:59,918 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-10 01:01:59,924 INFO L748 eck$LassoCheckResult]: Stem: 49#[$Ultimate##0]true [63] $Ultimate##0-->L56: Formula: (and (<= v_ULTIMATE.start_max1_3 v_N_3) (<= 0 v_ULTIMATE.start_min1_3)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} AuxVars[] AssignedVars[] 51#[L56]true [41] L56-->L59: Formula: (and (<= v_ULTIMATE.start_max2_3 v_N_4) (<= 0 v_ULTIMATE.start_min2_3)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} AuxVars[] AssignedVars[] 53#[L59]true [99] L59-->$Ultimate##0: Formula: (and (= v_writerThread1of1ForFork2_end_6 v_ULTIMATE.start_max1_5) (= v_writerThread1of1ForFork2_thidvar0_2 1) (= v_writerThread1of1ForFork2_start_4 v_ULTIMATE.start_min1_5)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_16, writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_6, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_4, writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_2} AuxVars[] AssignedVars[writerThread1of1ForFork2_j, writerThread1of1ForFork2_end, writerThread1of1ForFork2_start, writerThread1of1ForFork2_thidvar0] 55#[L59-1, $Ultimate##0]true [84] $Ultimate##0-->L41-1: Formula: (= v_writerThread1of1ForFork2_j_1 v_writerThread1of1ForFork2_start_1) InVars {writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} OutVars{writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_1, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} AuxVars[] AssignedVars[writerThread1of1ForFork2_j] 57#[L41-1, L59-1]true [2024-02-10 01:01:59,925 INFO L750 eck$LassoCheckResult]: Loop: 57#[L41-1, L59-1]true [86] L41-1-->L42: Formula: (< v_writerThread1of1ForFork2_j_5 v_writerThread1of1ForFork2_end_3) InVars {writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_3, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_5} OutVars{writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_3, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_5} AuxVars[] AssignedVars[] 60#[L59-1, L42]true [88] L42-->L43: Formula: (and (<= 0 v_writerThread1of1ForFork2_j_7) (<= v_writerThread1of1ForFork2_j_7 v_N_5)) InVars {writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_7, N=v_N_5} OutVars{writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_7, N=v_N_5} AuxVars[] AssignedVars[] 62#[L59-1, L43]true [89] L43-->L44: Formula: (= (store v_A_3 v_writerThread1of1ForFork2_j_9 0) v_A_2) InVars {A=v_A_3, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_9} OutVars{A=v_A_2, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_9} AuxVars[] AssignedVars[A] 64#[L59-1, L44]true [90] L44-->L41-1: Formula: (= v_writerThread1of1ForFork2_j_12 (+ v_writerThread1of1ForFork2_j_11 1)) InVars {writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_11} OutVars{writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_12} AuxVars[] AssignedVars[writerThread1of1ForFork2_j] 57#[L41-1, L59-1]true [2024-02-10 01:01:59,931 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:01:59,931 INFO L85 PathProgramCache]: Analyzing trace with hash 2842908, now seen corresponding path program 1 times [2024-02-10 01:01:59,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:01:59,944 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1500024054] [2024-02-10 01:01:59,945 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:01:59,945 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:00,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:00,020 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:00,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:00,042 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:00,050 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:00,050 INFO L85 PathProgramCache]: Analyzing trace with hash 3572964, now seen corresponding path program 1 times [2024-02-10 01:02:00,051 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:00,051 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793812448] [2024-02-10 01:02:00,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:00,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:00,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:00,066 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:00,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:00,075 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:00,076 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:00,077 INFO L85 PathProgramCache]: Analyzing trace with hash 1262870655, now seen corresponding path program 1 times [2024-02-10 01:02:00,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:00,077 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1443697723] [2024-02-10 01:02:00,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:00,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:00,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:00,092 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:00,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:00,108 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:00,291 INFO L210 LassoAnalysis]: Preferences: [2024-02-10 01:02:00,292 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-10 01:02:00,292 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-10 01:02:00,292 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-10 01:02:00,293 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2024-02-10 01:02:00,293 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:00,295 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-10 01:02:00,295 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-10 01:02:00,295 INFO L133 ssoRankerPreferences]: Filename of dumped script: optimistic-concurrency1.bpl_BEv2_Iteration1_Lasso [2024-02-10 01:02:00,295 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-10 01:02:00,296 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-10 01:02:00,313 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:00,324 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:00,329 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:00,467 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-10 01:02:00,471 INFO L490 LassoAnalysis]: Using template 'affine'. [2024-02-10 01:02:00,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:00,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:00,480 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:00,491 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-02-10 01:02:00,492 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:00,506 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:00,506 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:00,506 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:00,506 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:00,515 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:00,515 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:00,537 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:00,548 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:00,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:00,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:00,553 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:00,564 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:00,574 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:00,574 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:00,575 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:00,575 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:00,581 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:00,581 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:00,587 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-02-10 01:02:00,596 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:00,604 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:00,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:00,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:00,607 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:00,613 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:00,616 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-02-10 01:02:00,626 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:00,626 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-10 01:02:00,627 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:00,627 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:00,627 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:00,628 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-10 01:02:00,628 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-10 01:02:00,640 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:00,644 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:00,645 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:00,645 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:00,646 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:00,648 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-02-10 01:02:00,649 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:00,660 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:00,661 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:00,661 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:00,661 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:00,683 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:00,683 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:00,703 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-02-10 01:02:00,726 INFO L443 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2024-02-10 01:02:00,726 INFO L444 ModelExtractionUtils]: 8 out of 25 variables were initially zero. Simplification set additionally 14 variables to zero. [2024-02-10 01:02:00,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:00,729 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:00,733 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:00,735 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-02-10 01:02:00,747 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-02-10 01:02:00,762 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-02-10 01:02:00,763 INFO L513 LassoAnalysis]: Proved termination. [2024-02-10 01:02:00,764 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(writerThread1of1ForFork2_j, writerThread1of1ForFork2_end) = -1*writerThread1of1ForFork2_j + 1*writerThread1of1ForFork2_end Supporting invariants [] [2024-02-10 01:02:00,770 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2024-02-10 01:02:00,773 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-02-10 01:02:00,803 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:00,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:00,819 INFO L262 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 2 conjunts are in the unsatisfiable core [2024-02-10 01:02:00,820 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-10 01:02:00,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:00,844 INFO L262 TraceCheckSpWp]: Trace formula consists of 10 conjuncts, 4 conjunts are in the unsatisfiable core [2024-02-10 01:02:00,845 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-10 01:02:00,897 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-10 01:02:00,939 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2024-02-10 01:02:00,943 INFO L162 BuchiComplementFKV]: Start buchiComplementFKV with optimization HEIMAT2. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 3 states have internal predecessors, (8), 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-10 01:02:01,118 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2024-02-10 01:02:01,166 INFO L171 BuchiComplementFKV]: Finished buchiComplementFKV with optimization HEIMAT2. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 3 states have internal predecessors, (8), 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) Result 9 states and 556 transitions.6 powerset states3 rank states. The highest rank that occured is 1 [2024-02-10 01:02:01,168 INFO L89 BuchiIntersect]: Starting Intersection [2024-02-10 01:02:01,168 INFO L112 BuchiIntersect]: use intersection optimizations [2024-02-10 01:02:01,169 INFO L63 sectAllAcceptingtNet]: Starting Intersection with all accepting Petri Net [2024-02-10 01:02:01,204 INFO L72 sectAllAcceptingtNet]: Exiting Intersection with all accepting Petri Net [2024-02-10 01:02:01,204 INFO L99 BuchiIntersect]: Exiting Intersection [2024-02-10 01:02:01,207 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2024-02-10 01:02:01,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 3 states have internal predecessors, (8), 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-10 01:02:01,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 214 transitions. [2024-02-10 01:02:01,225 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 214 transitions. Stem has 4 letters. Loop has 4 letters. [2024-02-10 01:02:01,225 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:01,225 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 214 transitions. Stem has 8 letters. Loop has 4 letters. [2024-02-10 01:02:01,226 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:01,226 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 214 transitions. Stem has 4 letters. Loop has 8 letters. [2024-02-10 01:02:01,226 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:01,226 INFO L428 stractBuchiCegarLoop]: Abstraction has has 51 places, 452 transitions, 2027 flow [2024-02-10 01:02:01,226 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-02-10 01:02:01,226 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 51 places, 452 transitions, 2027 flow [2024-02-10 01:02:01,319 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-10 01:02:01,319 INFO L124 PetriNetUnfolderBase]: 180/273 cut-off events. [2024-02-10 01:02:01,319 INFO L125 PetriNetUnfolderBase]: For 17/17 co-relation queries the response was YES. [2024-02-10 01:02:01,319 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-10 01:02:01,321 INFO L748 eck$LassoCheckResult]: Stem: 49#[$Ultimate##0]true [63] $Ultimate##0-->L56: Formula: (and (<= v_ULTIMATE.start_max1_3 v_N_3) (<= 0 v_ULTIMATE.start_min1_3)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} AuxVars[] AssignedVars[] 51#[L56]true [41] L56-->L59: Formula: (and (<= v_ULTIMATE.start_max2_3 v_N_4) (<= 0 v_ULTIMATE.start_min2_3)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} AuxVars[] AssignedVars[] 53#[L59]true [99] L59-->$Ultimate##0: Formula: (and (= v_writerThread1of1ForFork2_end_6 v_ULTIMATE.start_max1_5) (= v_writerThread1of1ForFork2_thidvar0_2 1) (= v_writerThread1of1ForFork2_start_4 v_ULTIMATE.start_min1_5)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_16, writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_6, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_4, writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_2} AuxVars[] AssignedVars[writerThread1of1ForFork2_j, writerThread1of1ForFork2_end, writerThread1of1ForFork2_start, writerThread1of1ForFork2_thidvar0] 55#[L59-1, $Ultimate##0]true [93] L59-1-->$Ultimate##0: Formula: (and (= v_readerThread1of1ForFork0_thidvar0_2 2) (= v_readerThread1of1ForFork0_thidvar1_2 2) (= v_readerThread1of1ForFork0_start_4 v_ULTIMATE.start_min2_5) (= v_readerThread1of1ForFork0_end_6 v_ULTIMATE.start_max2_5)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_4, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_8, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_18, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_2, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_2, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_6} AuxVars[] AssignedVars[readerThread1of1ForFork0_start, readerThread1of1ForFork0_sum, readerThread1of1ForFork0_i, readerThread1of1ForFork0_thidvar1, readerThread1of1ForFork0_thidvar0, readerThread1of1ForFork0_end] 130#[$Ultimate##0, L60, $Ultimate##0]true [66] $Ultimate##0-->L27: Formula: (= v_readerThread1of1ForFork0_sum_1 0) InVars {} OutVars{readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 132#[L27, L60, $Ultimate##0]true [67] L27-->L28-1: Formula: (= v_readerThread1of1ForFork0_start_1 v_readerThread1of1ForFork0_i_1) InVars {readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_1, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [69] L28-1-->L29: Formula: (< v_readerThread1of1ForFork0_i_5 v_readerThread1of1ForFork0_end_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} AuxVars[] AssignedVars[] 136#[L60, $Ultimate##0, L29]true [72] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork0_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork0_i_9)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} AuxVars[] AssignedVars[] 138#[L60, $Ultimate##0, L30]true [73] L30-->L31: Formula: (= (+ v_readerThread1of1ForFork0_sum_3 (select v_A_1 v_readerThread1of1ForFork0_i_11)) v_readerThread1of1ForFork0_sum_4) InVars {A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 140#[L60, $Ultimate##0, L31]true [74] L31-->L28-1: Formula: (= v_readerThread1of1ForFork0_i_14 (+ v_readerThread1of1ForFork0_i_13 1)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_13} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [2024-02-10 01:02:01,321 INFO L750 eck$LassoCheckResult]: Loop: 134#[L60, $Ultimate##0, L28-1]true [69] L28-1-->L29: Formula: (< v_readerThread1of1ForFork0_i_5 v_readerThread1of1ForFork0_end_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} AuxVars[] AssignedVars[] 136#[L60, $Ultimate##0, L29]true [72] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork0_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork0_i_9)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} AuxVars[] AssignedVars[] 138#[L60, $Ultimate##0, L30]true [73] L30-->L31: Formula: (= (+ v_readerThread1of1ForFork0_sum_3 (select v_A_1 v_readerThread1of1ForFork0_i_11)) v_readerThread1of1ForFork0_sum_4) InVars {A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 140#[L60, $Ultimate##0, L31]true [74] L31-->L28-1: Formula: (= v_readerThread1of1ForFork0_i_14 (+ v_readerThread1of1ForFork0_i_13 1)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_13} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [2024-02-10 01:02:01,322 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:01,322 INFO L85 PathProgramCache]: Analyzing trace with hash 1242932778, now seen corresponding path program 1 times [2024-02-10 01:02:01,322 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:01,323 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1689952080] [2024-02-10 01:02:01,323 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:01,323 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:01,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:01,347 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:01,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:01,376 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:01,377 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:01,377 INFO L85 PathProgramCache]: Analyzing trace with hash 3050629, now seen corresponding path program 1 times [2024-02-10 01:02:01,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:01,378 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [861778882] [2024-02-10 01:02:01,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:01,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:01,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:01,389 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:01,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:01,400 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:01,400 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:01,401 INFO L85 PathProgramCache]: Analyzing trace with hash 1564669486, now seen corresponding path program 2 times [2024-02-10 01:02:01,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:01,401 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431612308] [2024-02-10 01:02:01,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:01,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:01,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:01,430 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:01,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:01,446 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:01,677 INFO L210 LassoAnalysis]: Preferences: [2024-02-10 01:02:01,677 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-10 01:02:01,678 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-10 01:02:01,678 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-10 01:02:01,678 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2024-02-10 01:02:01,678 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:01,678 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-10 01:02:01,678 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-10 01:02:01,678 INFO L133 ssoRankerPreferences]: Filename of dumped script: optimistic-concurrency1.bpl_BEv2_Iteration2_Lasso [2024-02-10 01:02:01,678 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-10 01:02:01,678 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-10 01:02:01,682 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:01,686 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:01,691 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:01,695 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:01,698 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:01,734 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:01,875 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-10 01:02:01,875 INFO L490 LassoAnalysis]: Using template 'affine'. [2024-02-10 01:02:01,875 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:01,877 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:01,879 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:01,883 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:01,893 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:01,893 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:01,893 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:01,894 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:01,900 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:01,900 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:01,905 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-02-10 01:02:01,917 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:01,926 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:01,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:01,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:01,928 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:01,935 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:01,945 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:01,945 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:01,945 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:01,945 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:01,949 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:01,949 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:01,955 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-02-10 01:02:01,964 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:01,970 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:01,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:01,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:01,972 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:01,976 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-02-10 01:02:02,000 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:02,015 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:02,016 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:02,016 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:02,016 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:02,028 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:02,028 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:02,040 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:02,046 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2024-02-10 01:02:02,047 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:02,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:02,048 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:02,054 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2024-02-10 01:02:02,055 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:02,064 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:02,064 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:02,064 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:02,064 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:02,066 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:02,066 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:02,084 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:02,092 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2024-02-10 01:02:02,093 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:02,093 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:02,095 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:02,107 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:02,120 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:02,120 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:02,120 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:02,120 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:02,126 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:02,126 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:02,132 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2024-02-10 01:02:02,152 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:02,160 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:02,161 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:02,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:02,325 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:02,326 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2024-02-10 01:02:02,328 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:02,336 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:02,337 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:02,337 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:02,337 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:02,347 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:02,347 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:02,380 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-02-10 01:02:02,397 INFO L443 ModelExtractionUtils]: Simplification made 6 calls to the SMT solver. [2024-02-10 01:02:02,397 INFO L444 ModelExtractionUtils]: 22 out of 28 variables were initially zero. Simplification set additionally 2 variables to zero. [2024-02-10 01:02:02,398 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:02,398 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:02,401 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:02,407 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-02-10 01:02:02,416 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2024-02-10 01:02:02,481 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-02-10 01:02:02,482 INFO L513 LassoAnalysis]: Proved termination. [2024-02-10 01:02:02,482 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, readerThread1of1ForFork0_i) = 2*N - 2*readerThread1of1ForFork0_i + 1 Supporting invariants [] [2024-02-10 01:02:02,486 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:02,490 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2024-02-10 01:02:02,502 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:02,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:02,512 INFO L262 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 2 conjunts are in the unsatisfiable core [2024-02-10 01:02:02,513 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-10 01:02:02,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:02,532 INFO L262 TraceCheckSpWp]: Trace formula consists of 9 conjuncts, 4 conjunts are in the unsatisfiable core [2024-02-10 01:02:02,533 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-10 01:02:02,560 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-10 01:02:02,561 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2024-02-10 01:02:02,562 INFO L162 BuchiComplementFKV]: Start buchiComplementFKV with optimization HEIMAT2. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 4 states have internal predecessors, (14), 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-10 01:02:02,750 INFO L171 BuchiComplementFKV]: Finished buchiComplementFKV with optimization HEIMAT2. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 4 states have internal predecessors, (14), 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) Result 8 states and 514 transitions.5 powerset states3 rank states. The highest rank that occured is 1 [2024-02-10 01:02:02,750 INFO L89 BuchiIntersect]: Starting Intersection [2024-02-10 01:02:02,750 INFO L112 BuchiIntersect]: use intersection optimizations [2024-02-10 01:02:02,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states and 514 transitions. [2024-02-10 01:02:02,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 514 transitions. [2024-02-10 01:02:02,779 INFO L79 tersectStemOptimized]: Starting StemOptimized Intersection [2024-02-10 01:02:02,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states and 514 transitions. [2024-02-10 01:02:02,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 514 transitions. [2024-02-10 01:02:02,859 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:03,137 INFO L90 tersectStemOptimized]: Exiting StemOptimized Intersection [2024-02-10 01:02:03,137 INFO L99 BuchiIntersect]: Exiting Intersection [2024-02-10 01:02:03,138 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2024-02-10 01:02:03,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 4 states have internal predecessors, (14), 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-10 01:02:03,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 170 transitions. [2024-02-10 01:02:03,141 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 170 transitions. Stem has 10 letters. Loop has 4 letters. [2024-02-10 01:02:03,142 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:03,142 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 170 transitions. Stem has 14 letters. Loop has 4 letters. [2024-02-10 01:02:03,142 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:03,142 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 170 transitions. Stem has 10 letters. Loop has 8 letters. [2024-02-10 01:02:03,142 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:03,142 INFO L428 stractBuchiCegarLoop]: Abstraction has has 63 places, 6972 transitions, 45063 flow [2024-02-10 01:02:03,142 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-02-10 01:02:03,143 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 63 places, 6972 transitions, 45063 flow [2024-02-10 01:02:04,339 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-10 01:02:04,339 INFO L124 PetriNetUnfolderBase]: 2112/2923 cut-off events. [2024-02-10 01:02:04,339 INFO L125 PetriNetUnfolderBase]: For 136/136 co-relation queries the response was YES. [2024-02-10 01:02:04,340 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-10 01:02:04,343 INFO L748 eck$LassoCheckResult]: Stem: 49#[$Ultimate##0]true [63] $Ultimate##0-->L56: Formula: (and (<= v_ULTIMATE.start_max1_3 v_N_3) (<= 0 v_ULTIMATE.start_min1_3)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} AuxVars[] AssignedVars[] 51#[L56]true [41] L56-->L59: Formula: (and (<= v_ULTIMATE.start_max2_3 v_N_4) (<= 0 v_ULTIMATE.start_min2_3)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} AuxVars[] AssignedVars[] 53#[L59]true [99] L59-->$Ultimate##0: Formula: (and (= v_writerThread1of1ForFork2_end_6 v_ULTIMATE.start_max1_5) (= v_writerThread1of1ForFork2_thidvar0_2 1) (= v_writerThread1of1ForFork2_start_4 v_ULTIMATE.start_min1_5)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_16, writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_6, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_4, writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_2} AuxVars[] AssignedVars[writerThread1of1ForFork2_j, writerThread1of1ForFork2_end, writerThread1of1ForFork2_start, writerThread1of1ForFork2_thidvar0] 55#[L59-1, $Ultimate##0]true [93] L59-1-->$Ultimate##0: Formula: (and (= v_readerThread1of1ForFork0_thidvar0_2 2) (= v_readerThread1of1ForFork0_thidvar1_2 2) (= v_readerThread1of1ForFork0_start_4 v_ULTIMATE.start_min2_5) (= v_readerThread1of1ForFork0_end_6 v_ULTIMATE.start_max2_5)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_4, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_8, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_18, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_2, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_2, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_6} AuxVars[] AssignedVars[readerThread1of1ForFork0_start, readerThread1of1ForFork0_sum, readerThread1of1ForFork0_i, readerThread1of1ForFork0_thidvar1, readerThread1of1ForFork0_thidvar0, readerThread1of1ForFork0_end] 130#[$Ultimate##0, L60, $Ultimate##0]true [66] $Ultimate##0-->L27: Formula: (= v_readerThread1of1ForFork0_sum_1 0) InVars {} OutVars{readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 132#[L27, L60, $Ultimate##0]true [67] L27-->L28-1: Formula: (= v_readerThread1of1ForFork0_start_1 v_readerThread1of1ForFork0_i_1) InVars {readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_1, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [68] L28-1-->readerFINAL: Formula: (<= v_readerThread1of1ForFork0_end_1 v_readerThread1of1ForFork0_i_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_3, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_1} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_3, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_1} AuxVars[] AssignedVars[] 229#[L60, $Ultimate##0, readerFINAL]true [70] readerFINAL-->readerEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 231#[readerEXIT, L60, $Ultimate##0]true [84] $Ultimate##0-->L41-1: Formula: (= v_writerThread1of1ForFork2_j_1 v_writerThread1of1ForFork2_start_1) InVars {writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} OutVars{writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_1, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} AuxVars[] AssignedVars[writerThread1of1ForFork2_j] 233#[L41-1, readerEXIT, L60]true [85] L41-1-->writerFINAL: Formula: (<= v_writerThread1of1ForFork2_end_1 v_writerThread1of1ForFork2_j_3) InVars {writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_1, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_3} OutVars{writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_1, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_3} AuxVars[] AssignedVars[] 235#[readerEXIT, L60, writerFINAL]true [87] writerFINAL-->writerEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 237#[writerEXIT, readerEXIT, L60]true [100] writerEXIT-->L61: Formula: (= v_writerThread1of1ForFork2_thidvar0_4 1) InVars {writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_4} OutVars{writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_4} AuxVars[] AssignedVars[] 239#[readerEXIT, L61]true [101] readerEXIT-->L62: Formula: (and (= v_readerThread1of1ForFork0_thidvar0_4 2) (= v_ULTIMATE.start_sum_2 v_readerThread1of1ForFork0_sum_10) (= v_readerThread1of1ForFork0_thidvar1_4 2)) InVars {readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_10, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_4, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_4} OutVars{ULTIMATE.start_sum=v_ULTIMATE.start_sum_2, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_10, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_4, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[ULTIMATE.start_sum] 241#[L62]true [61] L62-->L67: Formula: (and (<= v_ULTIMATE.start_min2_1 v_ULTIMATE.start_max1_1) (<= v_ULTIMATE.start_min1_1 v_ULTIMATE.start_max2_1)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_1, ULTIMATE.start_max2=v_ULTIMATE.start_max2_1, ULTIMATE.start_min1=v_ULTIMATE.start_min1_1, ULTIMATE.start_min2=v_ULTIMATE.start_min2_1} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_1, ULTIMATE.start_max2=v_ULTIMATE.start_max2_1, ULTIMATE.start_min1=v_ULTIMATE.start_min1_1, ULTIMATE.start_min2=v_ULTIMATE.start_min2_1} AuxVars[] AssignedVars[] 243#[L67]true [96] L67-->$Ultimate##0: Formula: (and (= v_readerThread1of1ForFork1_end_6 v_ULTIMATE.start_max2_7) (= v_readerThread1of1ForFork1_thidvar0_2 2) (= v_ULTIMATE.start_min2_7 v_readerThread1of1ForFork1_start_4) (= v_readerThread1of1ForFork1_thidvar1_2 2)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_7, ULTIMATE.start_min2=v_ULTIMATE.start_min2_7} OutVars{readerThread1of1ForFork1_thidvar0=v_readerThread1of1ForFork1_thidvar0_2, ULTIMATE.start_max2=v_ULTIMATE.start_max2_7, readerThread1of1ForFork1_thidvar1=v_readerThread1of1ForFork1_thidvar1_2, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_8, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_18, ULTIMATE.start_min2=v_ULTIMATE.start_min2_7, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_6, readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_thidvar0, readerThread1of1ForFork1_thidvar1, readerThread1of1ForFork1_sum, readerThread1of1ForFork1_i, readerThread1of1ForFork1_end, readerThread1of1ForFork1_start] 245#[L67-1, $Ultimate##0]true [75] $Ultimate##0-->L27: Formula: (= v_readerThread1of1ForFork1_sum_1 0) InVars {} OutVars{readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_1} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 247#[L67-1, L27]true [76] L27-->L28-1: Formula: (= v_readerThread1of1ForFork1_i_1 v_readerThread1of1ForFork1_start_1) InVars {readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_1} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_1, readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_1} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [78] L28-1-->L29: Formula: (< v_readerThread1of1ForFork1_i_5 v_readerThread1of1ForFork1_end_3) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} AuxVars[] AssignedVars[] 251#[L67-1, L29]true [81] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork1_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork1_i_9)) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} AuxVars[] AssignedVars[] 253#[L67-1, L30]true [82] L30-->L31: Formula: (= v_readerThread1of1ForFork1_sum_4 (+ (select v_A_1 v_readerThread1of1ForFork1_i_11) v_readerThread1of1ForFork1_sum_3)) InVars {A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 255#[L67-1, L31]true [83] L31-->L28-1: Formula: (= (+ v_readerThread1of1ForFork1_i_13 1) v_readerThread1of1ForFork1_i_14) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_13} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [2024-02-10 01:02:04,346 INFO L750 eck$LassoCheckResult]: Loop: 249#[L67-1, L28-1]true [78] L28-1-->L29: Formula: (< v_readerThread1of1ForFork1_i_5 v_readerThread1of1ForFork1_end_3) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} AuxVars[] AssignedVars[] 251#[L67-1, L29]true [81] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork1_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork1_i_9)) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} AuxVars[] AssignedVars[] 253#[L67-1, L30]true [82] L30-->L31: Formula: (= v_readerThread1of1ForFork1_sum_4 (+ (select v_A_1 v_readerThread1of1ForFork1_i_11) v_readerThread1of1ForFork1_sum_3)) InVars {A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 255#[L67-1, L31]true [83] L31-->L28-1: Formula: (= (+ v_readerThread1of1ForFork1_i_13 1) v_readerThread1of1ForFork1_i_14) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_13} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [2024-02-10 01:02:04,347 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:04,347 INFO L85 PathProgramCache]: Analyzing trace with hash -1836194441, now seen corresponding path program 1 times [2024-02-10 01:02:04,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:04,348 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1181385400] [2024-02-10 01:02:04,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:04,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:04,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:04,524 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-10 01:02:04,524 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-10 01:02:04,524 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1181385400] [2024-02-10 01:02:04,525 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1181385400] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-10 01:02:04,525 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-10 01:02:04,525 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2024-02-10 01:02:04,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1797354763] [2024-02-10 01:02:04,527 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-10 01:02:04,529 INFO L753 eck$LassoCheckResult]: stem already infeasible [2024-02-10 01:02:04,529 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:04,529 INFO L85 PathProgramCache]: Analyzing trace with hash 3327685, now seen corresponding path program 1 times [2024-02-10 01:02:04,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:04,530 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [848492524] [2024-02-10 01:02:04,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:04,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:04,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:04,546 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:04,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:04,552 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:04,593 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-10 01:02:04,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2024-02-10 01:02:04,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2024-02-10 01:02:05,285 INFO L175 Difference]: Start difference. First operand has 63 places, 6972 transitions, 45063 flow. Second operand 15 states and 660 transitions. [2024-02-10 01:02:05,286 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 6972 transitions, 45063 flow. Second operand 15 states and 660 transitions. [2024-02-10 01:02:05,288 INFO L120 encePairwiseOnDemand]: Number of universal subtrahend loopers: 35 of 44 [2024-02-10 01:02:05,288 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-10 01:02:06,029 INFO L124 PetriNetUnfolderBase]: 2134/2981 cut-off events. [2024-02-10 01:02:06,029 INFO L125 PetriNetUnfolderBase]: For 393/393 co-relation queries the response was YES. [2024-02-10 01:02:06,036 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10022 conditions, 2981 events. 2134/2981 cut-off events. For 393/393 co-relation queries the response was YES. Maximal size of possible extension queue 108. Compared 11053 event pairs, 0 based on Foata normal form. 0/1137 useless extension candidates. Maximal degree in co-relation 9315. Up to 1075 conditions per place. [2024-02-10 01:02:06,060 INFO L140 encePairwiseOnDemand]: 36/44 looper letters, 173 selfloop transitions, 147 changer transitions 64/1122 dead transitions. [2024-02-10 01:02:06,061 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 66 places, 1122 transitions, 7806 flow [2024-02-10 01:02:06,072 INFO L231 Difference]: Finished difference. Result has 77 places, 1058 transitions, 7050 flow [2024-02-10 01:02:06,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2024-02-10 01:02:06,075 INFO L428 stractBuchiCegarLoop]: Abstraction has has 77 places, 1058 transitions, 7050 flow [2024-02-10 01:02:06,075 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-02-10 01:02:06,075 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 77 places, 1058 transitions, 7050 flow [2024-02-10 01:02:06,615 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-10 01:02:06,615 INFO L124 PetriNetUnfolderBase]: 2092/2897 cut-off events. [2024-02-10 01:02:06,615 INFO L125 PetriNetUnfolderBase]: For 285/285 co-relation queries the response was YES. [2024-02-10 01:02:06,616 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-10 01:02:06,617 INFO L748 eck$LassoCheckResult]: Stem: 49#[$Ultimate##0]true [63] $Ultimate##0-->L56: Formula: (and (<= v_ULTIMATE.start_max1_3 v_N_3) (<= 0 v_ULTIMATE.start_min1_3)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} AuxVars[] AssignedVars[] 51#[L56]true [41] L56-->L59: Formula: (and (<= v_ULTIMATE.start_max2_3 v_N_4) (<= 0 v_ULTIMATE.start_min2_3)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} AuxVars[] AssignedVars[] 53#[L59]true [99] L59-->$Ultimate##0: Formula: (and (= v_writerThread1of1ForFork2_end_6 v_ULTIMATE.start_max1_5) (= v_writerThread1of1ForFork2_thidvar0_2 1) (= v_writerThread1of1ForFork2_start_4 v_ULTIMATE.start_min1_5)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_16, writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_6, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_4, writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_2} AuxVars[] AssignedVars[writerThread1of1ForFork2_j, writerThread1of1ForFork2_end, writerThread1of1ForFork2_start, writerThread1of1ForFork2_thidvar0] 55#[L59-1, $Ultimate##0]true [93] L59-1-->$Ultimate##0: Formula: (and (= v_readerThread1of1ForFork0_thidvar0_2 2) (= v_readerThread1of1ForFork0_thidvar1_2 2) (= v_readerThread1of1ForFork0_start_4 v_ULTIMATE.start_min2_5) (= v_readerThread1of1ForFork0_end_6 v_ULTIMATE.start_max2_5)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_4, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_8, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_18, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_2, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_2, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_6} AuxVars[] AssignedVars[readerThread1of1ForFork0_start, readerThread1of1ForFork0_sum, readerThread1of1ForFork0_i, readerThread1of1ForFork0_thidvar1, readerThread1of1ForFork0_thidvar0, readerThread1of1ForFork0_end] 130#[$Ultimate##0, L60, $Ultimate##0]true [66] $Ultimate##0-->L27: Formula: (= v_readerThread1of1ForFork0_sum_1 0) InVars {} OutVars{readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 132#[L27, L60, $Ultimate##0]true [67] L27-->L28-1: Formula: (= v_readerThread1of1ForFork0_start_1 v_readerThread1of1ForFork0_i_1) InVars {readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_1, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [69] L28-1-->L29: Formula: (< v_readerThread1of1ForFork0_i_5 v_readerThread1of1ForFork0_end_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} AuxVars[] AssignedVars[] 136#[L60, $Ultimate##0, L29]true [72] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork0_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork0_i_9)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} AuxVars[] AssignedVars[] 138#[L60, $Ultimate##0, L30]true [73] L30-->L31: Formula: (= (+ v_readerThread1of1ForFork0_sum_3 (select v_A_1 v_readerThread1of1ForFork0_i_11)) v_readerThread1of1ForFork0_sum_4) InVars {A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 140#[L60, $Ultimate##0, L31]true [74] L31-->L28-1: Formula: (= v_readerThread1of1ForFork0_i_14 (+ v_readerThread1of1ForFork0_i_13 1)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_13} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [68] L28-1-->readerFINAL: Formula: (<= v_readerThread1of1ForFork0_end_1 v_readerThread1of1ForFork0_i_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_3, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_1} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_3, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_1} AuxVars[] AssignedVars[] 229#[L60, $Ultimate##0, readerFINAL]true [84] $Ultimate##0-->L41-1: Formula: (= v_writerThread1of1ForFork2_j_1 v_writerThread1of1ForFork2_start_1) InVars {writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} OutVars{writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_1, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} AuxVars[] AssignedVars[writerThread1of1ForFork2_j] 318#[L41-1, L60, readerFINAL]true [70] readerFINAL-->readerEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 233#[L41-1, readerEXIT, L60]true [85] L41-1-->writerFINAL: Formula: (<= v_writerThread1of1ForFork2_end_1 v_writerThread1of1ForFork2_j_3) InVars {writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_1, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_3} OutVars{writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_1, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_3} AuxVars[] AssignedVars[] 235#[readerEXIT, L60, writerFINAL]true [87] writerFINAL-->writerEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 237#[writerEXIT, readerEXIT, L60]true [100] writerEXIT-->L61: Formula: (= v_writerThread1of1ForFork2_thidvar0_4 1) InVars {writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_4} OutVars{writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_4} AuxVars[] AssignedVars[] 239#[readerEXIT, L61]true [101] readerEXIT-->L62: Formula: (and (= v_readerThread1of1ForFork0_thidvar0_4 2) (= v_ULTIMATE.start_sum_2 v_readerThread1of1ForFork0_sum_10) (= v_readerThread1of1ForFork0_thidvar1_4 2)) InVars {readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_10, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_4, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_4} OutVars{ULTIMATE.start_sum=v_ULTIMATE.start_sum_2, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_10, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_4, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[ULTIMATE.start_sum] 241#[L62]true [61] L62-->L67: Formula: (and (<= v_ULTIMATE.start_min2_1 v_ULTIMATE.start_max1_1) (<= v_ULTIMATE.start_min1_1 v_ULTIMATE.start_max2_1)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_1, ULTIMATE.start_max2=v_ULTIMATE.start_max2_1, ULTIMATE.start_min1=v_ULTIMATE.start_min1_1, ULTIMATE.start_min2=v_ULTIMATE.start_min2_1} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_1, ULTIMATE.start_max2=v_ULTIMATE.start_max2_1, ULTIMATE.start_min1=v_ULTIMATE.start_min1_1, ULTIMATE.start_min2=v_ULTIMATE.start_min2_1} AuxVars[] AssignedVars[] 243#[L67]true [96] L67-->$Ultimate##0: Formula: (and (= v_readerThread1of1ForFork1_end_6 v_ULTIMATE.start_max2_7) (= v_readerThread1of1ForFork1_thidvar0_2 2) (= v_ULTIMATE.start_min2_7 v_readerThread1of1ForFork1_start_4) (= v_readerThread1of1ForFork1_thidvar1_2 2)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_7, ULTIMATE.start_min2=v_ULTIMATE.start_min2_7} OutVars{readerThread1of1ForFork1_thidvar0=v_readerThread1of1ForFork1_thidvar0_2, ULTIMATE.start_max2=v_ULTIMATE.start_max2_7, readerThread1of1ForFork1_thidvar1=v_readerThread1of1ForFork1_thidvar1_2, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_8, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_18, ULTIMATE.start_min2=v_ULTIMATE.start_min2_7, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_6, readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_thidvar0, readerThread1of1ForFork1_thidvar1, readerThread1of1ForFork1_sum, readerThread1of1ForFork1_i, readerThread1of1ForFork1_end, readerThread1of1ForFork1_start] 245#[L67-1, $Ultimate##0]true [75] $Ultimate##0-->L27: Formula: (= v_readerThread1of1ForFork1_sum_1 0) InVars {} OutVars{readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_1} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 247#[L67-1, L27]true [76] L27-->L28-1: Formula: (= v_readerThread1of1ForFork1_i_1 v_readerThread1of1ForFork1_start_1) InVars {readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_1} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_1, readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_1} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [78] L28-1-->L29: Formula: (< v_readerThread1of1ForFork1_i_5 v_readerThread1of1ForFork1_end_3) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} AuxVars[] AssignedVars[] 251#[L67-1, L29]true [81] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork1_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork1_i_9)) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} AuxVars[] AssignedVars[] 253#[L67-1, L30]true [82] L30-->L31: Formula: (= v_readerThread1of1ForFork1_sum_4 (+ (select v_A_1 v_readerThread1of1ForFork1_i_11) v_readerThread1of1ForFork1_sum_3)) InVars {A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 255#[L67-1, L31]true [83] L31-->L28-1: Formula: (= (+ v_readerThread1of1ForFork1_i_13 1) v_readerThread1of1ForFork1_i_14) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_13} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [2024-02-10 01:02:06,617 INFO L750 eck$LassoCheckResult]: Loop: 249#[L67-1, L28-1]true [78] L28-1-->L29: Formula: (< v_readerThread1of1ForFork1_i_5 v_readerThread1of1ForFork1_end_3) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} AuxVars[] AssignedVars[] 251#[L67-1, L29]true [81] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork1_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork1_i_9)) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} AuxVars[] AssignedVars[] 253#[L67-1, L30]true [82] L30-->L31: Formula: (= v_readerThread1of1ForFork1_sum_4 (+ (select v_A_1 v_readerThread1of1ForFork1_i_11) v_readerThread1of1ForFork1_sum_3)) InVars {A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 255#[L67-1, L31]true [83] L31-->L28-1: Formula: (= (+ v_readerThread1of1ForFork1_i_13 1) v_readerThread1of1ForFork1_i_14) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_13} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [2024-02-10 01:02:06,618 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:06,618 INFO L85 PathProgramCache]: Analyzing trace with hash -1565796713, now seen corresponding path program 1 times [2024-02-10 01:02:06,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:06,618 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1767695971] [2024-02-10 01:02:06,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:06,619 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:06,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:06,629 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:06,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:06,640 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:06,641 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:06,641 INFO L85 PathProgramCache]: Analyzing trace with hash 3327685, now seen corresponding path program 2 times [2024-02-10 01:02:06,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:06,641 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1654208756] [2024-02-10 01:02:06,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:06,642 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:06,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:06,646 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:06,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:06,649 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:06,649 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:06,649 INFO L85 PathProgramCache]: Analyzing trace with hash 625304155, now seen corresponding path program 2 times [2024-02-10 01:02:06,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:06,650 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [959167608] [2024-02-10 01:02:06,650 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:06,650 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:06,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:06,814 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-10 01:02:06,816 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-10 01:02:06,816 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [959167608] [2024-02-10 01:02:06,816 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [959167608] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-10 01:02:06,817 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [836761498] [2024-02-10 01:02:06,817 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-02-10 01:02:06,817 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-10 01:02:06,817 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:06,818 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-10 01:02:06,839 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2024-02-10 01:02:06,864 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-02-10 01:02:06,865 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-02-10 01:02:06,866 INFO L262 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 10 conjunts are in the unsatisfiable core [2024-02-10 01:02:06,871 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-10 01:02:06,991 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-10 01:02:06,991 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-10 01:02:07,123 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-10 01:02:07,124 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [836761498] provided 0 perfect and 2 imperfect interpolant sequences [2024-02-10 01:02:07,125 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-02-10 01:02:07,125 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 15 [2024-02-10 01:02:07,125 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1369713759] [2024-02-10 01:02:07,125 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-02-10 01:02:07,153 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-10 01:02:07,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2024-02-10 01:02:07,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2024-02-10 01:02:10,814 INFO L175 Difference]: Start difference. First operand has 77 places, 1058 transitions, 7050 flow. Second operand 58 states and 2552 transitions. [2024-02-10 01:02:10,815 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 77 places, 1058 transitions, 7050 flow. Second operand 58 states and 2552 transitions. [2024-02-10 01:02:10,816 INFO L120 encePairwiseOnDemand]: Number of universal subtrahend loopers: 34 of 44 [2024-02-10 01:02:10,816 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-10 01:02:11,117 INFO L124 PetriNetUnfolderBase]: 3023/4186 cut-off events. [2024-02-10 01:02:11,118 INFO L125 PetriNetUnfolderBase]: For 781/781 co-relation queries the response was YES. [2024-02-10 01:02:11,126 INFO L83 FinitePrefix]: Finished finitePrefix Result has 14375 conditions, 4186 events. 3023/4186 cut-off events. For 781/781 co-relation queries the response was YES. Maximal size of possible extension queue 108. Compared 15730 event pairs, 0 based on Foata normal form. 5/1650 useless extension candidates. Maximal degree in co-relation 13283. Up to 1528 conditions per place. [2024-02-10 01:02:11,156 INFO L140 encePairwiseOnDemand]: 34/44 looper letters, 182 selfloop transitions, 305 changer transitions 0/1215 dead transitions. [2024-02-10 01:02:11,156 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 80 places, 1215 transitions, 9036 flow [2024-02-10 01:02:11,165 INFO L231 Difference]: Finished difference. Result has 140 places, 1205 transitions, 9218 flow [2024-02-10 01:02:11,168 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 58 states. [2024-02-10 01:02:11,170 INFO L428 stractBuchiCegarLoop]: Abstraction has has 140 places, 1205 transitions, 9218 flow [2024-02-10 01:02:11,170 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-02-10 01:02:11,170 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 140 places, 1205 transitions, 9218 flow [2024-02-10 01:02:11,804 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-10 01:02:11,804 INFO L124 PetriNetUnfolderBase]: 3021/4182 cut-off events. [2024-02-10 01:02:11,804 INFO L125 PetriNetUnfolderBase]: For 1034/1034 co-relation queries the response was YES. [2024-02-10 01:02:11,804 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-10 01:02:11,805 INFO L748 eck$LassoCheckResult]: Stem: 49#[$Ultimate##0]true [63] $Ultimate##0-->L56: Formula: (and (<= v_ULTIMATE.start_max1_3 v_N_3) (<= 0 v_ULTIMATE.start_min1_3)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_3, N=v_N_3, ULTIMATE.start_min1=v_ULTIMATE.start_min1_3} AuxVars[] AssignedVars[] 51#[L56]true [41] L56-->L59: Formula: (and (<= v_ULTIMATE.start_max2_3 v_N_4) (<= 0 v_ULTIMATE.start_min2_3)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_3, N=v_N_4, ULTIMATE.start_min2=v_ULTIMATE.start_min2_3} AuxVars[] AssignedVars[] 53#[L59]true [99] L59-->$Ultimate##0: Formula: (and (= v_writerThread1of1ForFork2_end_6 v_ULTIMATE.start_max1_5) (= v_writerThread1of1ForFork2_thidvar0_2 1) (= v_writerThread1of1ForFork2_start_4 v_ULTIMATE.start_min1_5)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_5, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_16, writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_6, ULTIMATE.start_min1=v_ULTIMATE.start_min1_5, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_4, writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_2} AuxVars[] AssignedVars[writerThread1of1ForFork2_j, writerThread1of1ForFork2_end, writerThread1of1ForFork2_start, writerThread1of1ForFork2_thidvar0] 55#[L59-1, $Ultimate##0]true [93] L59-1-->$Ultimate##0: Formula: (and (= v_readerThread1of1ForFork0_thidvar0_2 2) (= v_readerThread1of1ForFork0_thidvar1_2 2) (= v_readerThread1of1ForFork0_start_4 v_ULTIMATE.start_min2_5) (= v_readerThread1of1ForFork0_end_6 v_ULTIMATE.start_max2_5)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5} OutVars{ULTIMATE.start_max2=v_ULTIMATE.start_max2_5, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_4, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_8, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_18, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_2, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_2, ULTIMATE.start_min2=v_ULTIMATE.start_min2_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_6} AuxVars[] AssignedVars[readerThread1of1ForFork0_start, readerThread1of1ForFork0_sum, readerThread1of1ForFork0_i, readerThread1of1ForFork0_thidvar1, readerThread1of1ForFork0_thidvar0, readerThread1of1ForFork0_end] 130#[$Ultimate##0, L60, $Ultimate##0]true [66] $Ultimate##0-->L27: Formula: (= v_readerThread1of1ForFork0_sum_1 0) InVars {} OutVars{readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 132#[L27, L60, $Ultimate##0]true [67] L27-->L28-1: Formula: (= v_readerThread1of1ForFork0_start_1 v_readerThread1of1ForFork0_i_1) InVars {readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_1, readerThread1of1ForFork0_start=v_readerThread1of1ForFork0_start_1} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [69] L28-1-->L29: Formula: (< v_readerThread1of1ForFork0_i_5 v_readerThread1of1ForFork0_end_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} AuxVars[] AssignedVars[] 136#[L60, $Ultimate##0, L29]true [72] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork0_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork0_i_9)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} AuxVars[] AssignedVars[] 138#[L60, $Ultimate##0, L30]true [73] L30-->L31: Formula: (= (+ v_readerThread1of1ForFork0_sum_3 (select v_A_1 v_readerThread1of1ForFork0_i_11)) v_readerThread1of1ForFork0_sum_4) InVars {A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 140#[L60, $Ultimate##0, L31]true [74] L31-->L28-1: Formula: (= v_readerThread1of1ForFork0_i_14 (+ v_readerThread1of1ForFork0_i_13 1)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_13} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [69] L28-1-->L29: Formula: (< v_readerThread1of1ForFork0_i_5 v_readerThread1of1ForFork0_end_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_5, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_3} AuxVars[] AssignedVars[] 136#[L60, $Ultimate##0, L29]true [72] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork0_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork0_i_9)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_9, N=v_N_2} AuxVars[] AssignedVars[] 138#[L60, $Ultimate##0, L30]true [73] L30-->L31: Formula: (= (+ v_readerThread1of1ForFork0_sum_3 (select v_A_1 v_readerThread1of1ForFork0_i_11)) v_readerThread1of1ForFork0_sum_4) InVars {A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_11, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork0_sum] 140#[L60, $Ultimate##0, L31]true [74] L31-->L28-1: Formula: (= v_readerThread1of1ForFork0_i_14 (+ v_readerThread1of1ForFork0_i_13 1)) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_13} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork0_i] 134#[L60, $Ultimate##0, L28-1]true [68] L28-1-->readerFINAL: Formula: (<= v_readerThread1of1ForFork0_end_1 v_readerThread1of1ForFork0_i_3) InVars {readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_3, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_1} OutVars{readerThread1of1ForFork0_i=v_readerThread1of1ForFork0_i_3, readerThread1of1ForFork0_end=v_readerThread1of1ForFork0_end_1} AuxVars[] AssignedVars[] 229#[L60, $Ultimate##0, readerFINAL]true [84] $Ultimate##0-->L41-1: Formula: (= v_writerThread1of1ForFork2_j_1 v_writerThread1of1ForFork2_start_1) InVars {writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} OutVars{writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_1, writerThread1of1ForFork2_start=v_writerThread1of1ForFork2_start_1} AuxVars[] AssignedVars[writerThread1of1ForFork2_j] 318#[L41-1, L60, readerFINAL]true [70] readerFINAL-->readerEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 233#[L41-1, readerEXIT, L60]true [85] L41-1-->writerFINAL: Formula: (<= v_writerThread1of1ForFork2_end_1 v_writerThread1of1ForFork2_j_3) InVars {writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_1, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_3} OutVars{writerThread1of1ForFork2_end=v_writerThread1of1ForFork2_end_1, writerThread1of1ForFork2_j=v_writerThread1of1ForFork2_j_3} AuxVars[] AssignedVars[] 235#[readerEXIT, L60, writerFINAL]true [87] writerFINAL-->writerEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 237#[writerEXIT, readerEXIT, L60]true [100] writerEXIT-->L61: Formula: (= v_writerThread1of1ForFork2_thidvar0_4 1) InVars {writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_4} OutVars{writerThread1of1ForFork2_thidvar0=v_writerThread1of1ForFork2_thidvar0_4} AuxVars[] AssignedVars[] 239#[readerEXIT, L61]true [101] readerEXIT-->L62: Formula: (and (= v_readerThread1of1ForFork0_thidvar0_4 2) (= v_ULTIMATE.start_sum_2 v_readerThread1of1ForFork0_sum_10) (= v_readerThread1of1ForFork0_thidvar1_4 2)) InVars {readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_10, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_4, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_4} OutVars{ULTIMATE.start_sum=v_ULTIMATE.start_sum_2, readerThread1of1ForFork0_sum=v_readerThread1of1ForFork0_sum_10, readerThread1of1ForFork0_thidvar1=v_readerThread1of1ForFork0_thidvar1_4, readerThread1of1ForFork0_thidvar0=v_readerThread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[ULTIMATE.start_sum] 241#[L62]true [61] L62-->L67: Formula: (and (<= v_ULTIMATE.start_min2_1 v_ULTIMATE.start_max1_1) (<= v_ULTIMATE.start_min1_1 v_ULTIMATE.start_max2_1)) InVars {ULTIMATE.start_max1=v_ULTIMATE.start_max1_1, ULTIMATE.start_max2=v_ULTIMATE.start_max2_1, ULTIMATE.start_min1=v_ULTIMATE.start_min1_1, ULTIMATE.start_min2=v_ULTIMATE.start_min2_1} OutVars{ULTIMATE.start_max1=v_ULTIMATE.start_max1_1, ULTIMATE.start_max2=v_ULTIMATE.start_max2_1, ULTIMATE.start_min1=v_ULTIMATE.start_min1_1, ULTIMATE.start_min2=v_ULTIMATE.start_min2_1} AuxVars[] AssignedVars[] 243#[L67]true [96] L67-->$Ultimate##0: Formula: (and (= v_readerThread1of1ForFork1_end_6 v_ULTIMATE.start_max2_7) (= v_readerThread1of1ForFork1_thidvar0_2 2) (= v_ULTIMATE.start_min2_7 v_readerThread1of1ForFork1_start_4) (= v_readerThread1of1ForFork1_thidvar1_2 2)) InVars {ULTIMATE.start_max2=v_ULTIMATE.start_max2_7, ULTIMATE.start_min2=v_ULTIMATE.start_min2_7} OutVars{readerThread1of1ForFork1_thidvar0=v_readerThread1of1ForFork1_thidvar0_2, ULTIMATE.start_max2=v_ULTIMATE.start_max2_7, readerThread1of1ForFork1_thidvar1=v_readerThread1of1ForFork1_thidvar1_2, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_8, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_18, ULTIMATE.start_min2=v_ULTIMATE.start_min2_7, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_6, readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_thidvar0, readerThread1of1ForFork1_thidvar1, readerThread1of1ForFork1_sum, readerThread1of1ForFork1_i, readerThread1of1ForFork1_end, readerThread1of1ForFork1_start] 245#[L67-1, $Ultimate##0]true [75] $Ultimate##0-->L27: Formula: (= v_readerThread1of1ForFork1_sum_1 0) InVars {} OutVars{readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_1} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 247#[L67-1, L27]true [76] L27-->L28-1: Formula: (= v_readerThread1of1ForFork1_i_1 v_readerThread1of1ForFork1_start_1) InVars {readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_1} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_1, readerThread1of1ForFork1_start=v_readerThread1of1ForFork1_start_1} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [78] L28-1-->L29: Formula: (< v_readerThread1of1ForFork1_i_5 v_readerThread1of1ForFork1_end_3) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} AuxVars[] AssignedVars[] 251#[L67-1, L29]true [81] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork1_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork1_i_9)) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} AuxVars[] AssignedVars[] 253#[L67-1, L30]true [82] L30-->L31: Formula: (= v_readerThread1of1ForFork1_sum_4 (+ (select v_A_1 v_readerThread1of1ForFork1_i_11) v_readerThread1of1ForFork1_sum_3)) InVars {A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 255#[L67-1, L31]true [83] L31-->L28-1: Formula: (= (+ v_readerThread1of1ForFork1_i_13 1) v_readerThread1of1ForFork1_i_14) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_13} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [2024-02-10 01:02:11,806 INFO L750 eck$LassoCheckResult]: Loop: 249#[L67-1, L28-1]true [78] L28-1-->L29: Formula: (< v_readerThread1of1ForFork1_i_5 v_readerThread1of1ForFork1_end_3) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_5, readerThread1of1ForFork1_end=v_readerThread1of1ForFork1_end_3} AuxVars[] AssignedVars[] 251#[L67-1, L29]true [81] L29-->L30: Formula: (and (<= v_readerThread1of1ForFork1_i_9 v_N_2) (<= 0 v_readerThread1of1ForFork1_i_9)) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_9, N=v_N_2} AuxVars[] AssignedVars[] 253#[L67-1, L30]true [82] L30-->L31: Formula: (= v_readerThread1of1ForFork1_sum_4 (+ (select v_A_1 v_readerThread1of1ForFork1_i_11) v_readerThread1of1ForFork1_sum_3)) InVars {A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_3} OutVars{A=v_A_1, readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_11, readerThread1of1ForFork1_sum=v_readerThread1of1ForFork1_sum_4} AuxVars[] AssignedVars[readerThread1of1ForFork1_sum] 255#[L67-1, L31]true [83] L31-->L28-1: Formula: (= (+ v_readerThread1of1ForFork1_i_13 1) v_readerThread1of1ForFork1_i_14) InVars {readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_13} OutVars{readerThread1of1ForFork1_i=v_readerThread1of1ForFork1_i_14} AuxVars[] AssignedVars[readerThread1of1ForFork1_i] 249#[L67-1, L28-1]true [2024-02-10 01:02:11,806 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:11,806 INFO L85 PathProgramCache]: Analyzing trace with hash 1266417171, now seen corresponding path program 3 times [2024-02-10 01:02:11,806 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:11,806 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [790922277] [2024-02-10 01:02:11,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:11,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:11,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:11,826 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:11,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:11,847 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:11,848 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:11,848 INFO L85 PathProgramCache]: Analyzing trace with hash 3327685, now seen corresponding path program 3 times [2024-02-10 01:02:11,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:11,848 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [527013579] [2024-02-10 01:02:11,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:11,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:11,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:11,854 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:11,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:11,867 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:11,868 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:11,868 INFO L85 PathProgramCache]: Analyzing trace with hash 310209495, now seen corresponding path program 4 times [2024-02-10 01:02:11,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-10 01:02:11,868 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [309096427] [2024-02-10 01:02:11,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-10 01:02:11,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-10 01:02:11,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:11,882 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-10 01:02:11,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-10 01:02:11,894 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-10 01:02:12,241 INFO L210 LassoAnalysis]: Preferences: [2024-02-10 01:02:12,241 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-10 01:02:12,241 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-10 01:02:12,241 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-10 01:02:12,242 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2024-02-10 01:02:12,242 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:12,242 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-10 01:02:12,242 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-10 01:02:12,242 INFO L133 ssoRankerPreferences]: Filename of dumped script: optimistic-concurrency1.bpl_BEv2_Iteration5_Lasso [2024-02-10 01:02:12,242 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-10 01:02:12,242 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-10 01:02:12,244 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:12,253 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:12,256 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:12,365 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:12,369 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:12,372 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-10 01:02:12,583 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-10 01:02:12,584 INFO L490 LassoAnalysis]: Using template 'affine'. [2024-02-10 01:02:12,584 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:12,584 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:12,585 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:12,590 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2024-02-10 01:02:12,591 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:12,603 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:12,604 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:12,604 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:12,604 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:12,606 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:12,606 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:12,620 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:12,629 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:12,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:12,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:12,632 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:12,639 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:12,650 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:12,650 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:12,650 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:12,651 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:12,653 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:12,653 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:12,653 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2024-02-10 01:02:12,666 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-10 01:02:12,674 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:12,674 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:12,674 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:12,675 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:12,678 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2024-02-10 01:02:12,679 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-10 01:02:12,690 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-10 01:02:12,690 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-10 01:02:12,690 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-10 01:02:12,690 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-10 01:02:12,699 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-10 01:02:12,700 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-10 01:02:12,717 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-02-10 01:02:12,743 INFO L443 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2024-02-10 01:02:12,743 INFO L444 ModelExtractionUtils]: 28 out of 46 variables were initially zero. Simplification set additionally 14 variables to zero. [2024-02-10 01:02:12,743 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-10 01:02:12,743 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-10 01:02:12,747 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-10 01:02:12,751 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-02-10 01:02:12,762 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2024-02-10 01:02:12,777 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-02-10 01:02:12,778 INFO L513 LassoAnalysis]: Proved termination. [2024-02-10 01:02:12,778 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(readerThread1of1ForFork1_i, N) = -2*readerThread1of1ForFork1_i + 2*N + 1 Supporting invariants [] [2024-02-10 01:02:12,788 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:12,796 INFO L156 tatePredicateManager]: 3 out of 3 supporting invariants were superfluous and have been removed [2024-02-10 01:02:12,807 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-10 01:02:12,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:12,827 INFO L262 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 2 conjunts are in the unsatisfiable core [2024-02-10 01:02:12,829 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-10 01:02:12,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-10 01:02:12,867 INFO L262 TraceCheckSpWp]: Trace formula consists of 9 conjuncts, 4 conjunts are in the unsatisfiable core [2024-02-10 01:02:12,868 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-10 01:02:12,886 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-10 01:02:12,887 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2024-02-10 01:02:12,887 INFO L162 BuchiComplementFKV]: Start buchiComplementFKV with optimization HEIMAT2. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 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-10 01:02:12,983 INFO L171 BuchiComplementFKV]: Finished buchiComplementFKV with optimization HEIMAT2. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 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) Result 8 states and 514 transitions.5 powerset states3 rank states. The highest rank that occured is 1 [2024-02-10 01:02:12,984 INFO L89 BuchiIntersect]: Starting Intersection [2024-02-10 01:02:12,984 INFO L112 BuchiIntersect]: use intersection optimizations [2024-02-10 01:02:12,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states and 514 transitions. [2024-02-10 01:02:12,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 514 transitions. [2024-02-10 01:02:12,987 INFO L79 tersectStemOptimized]: Starting StemOptimized Intersection [2024-02-10 01:02:12,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states and 514 transitions. [2024-02-10 01:02:12,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 514 transitions. [2024-02-10 01:02:13,190 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Ended with exit code 0 [2024-02-10 01:02:13,895 INFO L90 tersectStemOptimized]: Exiting StemOptimized Intersection [2024-02-10 01:02:13,895 INFO L99 BuchiIntersect]: Exiting Intersection [2024-02-10 01:02:13,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2024-02-10 01:02:13,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 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-10 01:02:13,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 170 transitions. [2024-02-10 01:02:13,899 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 170 transitions. Stem has 29 letters. Loop has 4 letters. [2024-02-10 01:02:13,900 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:13,900 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 170 transitions. Stem has 33 letters. Loop has 4 letters. [2024-02-10 01:02:13,900 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:13,900 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 170 transitions. Stem has 29 letters. Loop has 8 letters. [2024-02-10 01:02:13,902 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-10 01:02:13,902 INFO L428 stractBuchiCegarLoop]: Abstraction has has 152 places, 18740 transitions, 179338 flow [2024-02-10 01:02:13,902 INFO L335 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-02-10 01:02:13,902 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 152 places, 18740 transitions, 179338 flow [2024-02-10 01:02:24,512 INFO L124 PetriNetUnfolderBase]: 10408/13055 cut-off events. [2024-02-10 01:02:24,512 INFO L125 PetriNetUnfolderBase]: For 2241/2241 co-relation queries the response was YES. [2024-02-10 01:02:24,513 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is empty [2024-02-10 01:02:24,519 INFO L201 PluginConnector]: Adding new model optimistic-concurrency1.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 10.02 01:02:24 BoogieIcfgContainer [2024-02-10 01:02:24,519 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2024-02-10 01:02:24,519 INFO L158 Benchmark]: Toolchain (without parser) took 25201.77ms. Allocated memory was 170.9MB in the beginning and 1.9GB in the end (delta: 1.8GB). Free memory was 138.9MB in the beginning and 1.8GB in the end (delta: -1.6GB). Peak memory consumption was 809.8MB. Max. memory is 8.0GB. [2024-02-10 01:02:24,520 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.13ms. Allocated memory is still 170.9MB. Free memory is still 140.0MB. There was no memory consumed. Max. memory is 8.0GB. [2024-02-10 01:02:24,520 INFO L158 Benchmark]: Boogie Procedure Inliner took 28.58ms. Allocated memory is still 170.9MB. Free memory was 138.9MB in the beginning and 137.6MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2024-02-10 01:02:24,520 INFO L158 Benchmark]: Boogie Preprocessor took 64.40ms. Allocated memory was 170.9MB in the beginning and 253.8MB in the end (delta: 82.8MB). Free memory was 137.2MB in the beginning and 232.0MB in the end (delta: -94.8MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. [2024-02-10 01:02:24,521 INFO L158 Benchmark]: RCFGBuilder took 286.05ms. Allocated memory is still 253.8MB. Free memory was 232.0MB in the beginning and 222.3MB in the end (delta: 9.7MB). Peak memory consumption was 9.4MB. Max. memory is 8.0GB. [2024-02-10 01:02:24,521 INFO L158 Benchmark]: BuchiAutomizer took 24818.15ms. Allocated memory was 253.8MB in the beginning and 1.9GB in the end (delta: 1.7GB). Free memory was 222.0MB in the beginning and 1.8GB in the end (delta: -1.5GB). Peak memory consumption was 811.1MB. Max. memory is 8.0GB. [2024-02-10 01:02:24,522 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.13ms. Allocated memory is still 170.9MB. Free memory is still 140.0MB. There was no memory consumed. Max. memory is 8.0GB. * Boogie Procedure Inliner took 28.58ms. Allocated memory is still 170.9MB. Free memory was 138.9MB in the beginning and 137.6MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 64.40ms. Allocated memory was 170.9MB in the beginning and 253.8MB in the end (delta: 82.8MB). Free memory was 137.2MB in the beginning and 232.0MB in the end (delta: -94.8MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. * RCFGBuilder took 286.05ms. Allocated memory is still 253.8MB. Free memory was 232.0MB in the beginning and 222.3MB in the end (delta: 9.7MB). Peak memory consumption was 9.4MB. Max. memory is 8.0GB. * BuchiAutomizer took 24818.15ms. Allocated memory was 253.8MB in the beginning and 1.9GB in the end (delta: 1.7GB). Free memory was 222.0MB in the beginning and 1.8GB in the end (delta: -1.5GB). Peak memory consumption was 811.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 5 terminating modules (2 trivial, 3 deterministic, 0 nondeterministic). One deterministic module has affine ranking function end + -1 * j and consists of 5 locations. One deterministic module has affine ranking function 2 * N + -2 * i + 1 and consists of 4 locations. One deterministic module has affine ranking function 2 * N + -2 * i + 1 and consists of 4 locations. 2 modules have a trivial ranking function, the largest among these consists of 15 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 24.6s and 6 iterations. TraceHistogramMax:0. Analysis of lassos took 3.8s. Construction of modules took 2.7s. Büchi inclusion checks took 4.9s. Highest rank in rank-based complementation 1. Minimization of det autom 0. Minimization of nondet autom 0. Automata minimization No data available. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [3, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1135 SdHoareTripleChecker+Valid, 3.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1132 mSDsluCounter, 6513 SdHoareTripleChecker+Invalid, 2.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 5287 mSDsCounter, 21 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 5547 IncrementalHoareTripleChecker+Invalid, 5568 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 21 mSolverCounterUnsat, 1226 mSDtfsCounter, 5547 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont0 unkn0 SFLI0 SFLT0 conc1 concLT0 SILN0 SILU1 SILI0 SILT0 lasso3 LassoPreprocessingBenchmarks: Lassos: inital77 mio100 ax100 hnf100 lsp84 ukn94 mio100 lsp84 div100 bol100 ite100 ukn100 eq160 hnf92 smp100 dnf100 smp100 tf100 neg100 sie100 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 64ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.0s - TerminationAnalysisResult: Termination proven Buchi Automizer proved that your program is terminating RESULT: Ultimate proved your program to be correct! [2024-02-10 01:02:24,540 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2024-02-10 01:02:24,740 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...