/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerBplInline.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf --buchiautomizer.automaton.type.for.concurrent.programs RABIN_PETRI_NET -i ../../../trunk/examples/concurrent/bpl/weaver-benchmarks/generated/chl/poker-hand-symm.wvr.bpl -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.fs.rabin-petrinet-4c29625-m [2023-10-12 17:38:12,110 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-10-12 17:38:12,186 INFO L100 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf [2023-10-12 17:38:12,214 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-10-12 17:38:12,214 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-10-12 17:38:12,215 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-10-12 17:38:12,216 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-10-12 17:38:12,216 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-10-12 17:38:12,216 INFO L137 SettingsManager]: * Use SBE=true [2023-10-12 17:38:12,217 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-10-12 17:38:12,217 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-10-12 17:38:12,217 INFO L137 SettingsManager]: * Use old map elimination=false [2023-10-12 17:38:12,218 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-10-12 17:38:12,218 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-10-12 17:38:12,218 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-10-12 17:38:12,219 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-10-12 17:38:12,220 INFO L137 SettingsManager]: * sizeof long=4 [2023-10-12 17:38:12,220 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-10-12 17:38:12,221 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-10-12 17:38:12,221 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-10-12 17:38:12,221 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-10-12 17:38:12,226 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-10-12 17:38:12,226 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-10-12 17:38:12,227 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-10-12 17:38:12,227 INFO L137 SettingsManager]: * sizeof long double=12 [2023-10-12 17:38:12,227 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-10-12 17:38:12,228 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-10-12 17:38:12,228 INFO L137 SettingsManager]: * Use constant arrays=true [2023-10-12 17:38:12,228 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-10-12 17:38:12,228 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-10-12 17:38:12,229 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-10-12 17:38:12,229 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-10-12 17:38:12,229 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-10-12 17:38:12,230 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-10-12 17:38:12,230 INFO L137 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 -> RABIN_PETRI_NET [2023-10-12 17:38:12,449 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-10-12 17:38:12,473 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-10-12 17:38:12,475 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-10-12 17:38:12,476 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2023-10-12 17:38:12,479 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2023-10-12 17:38:12,481 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/weaver-benchmarks/generated/chl/poker-hand-symm.wvr.bpl [2023-10-12 17:38:12,481 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/weaver-benchmarks/generated/chl/poker-hand-symm.wvr.bpl' [2023-10-12 17:38:12,536 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-10-12 17:38:12,537 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2023-10-12 17:38:12,545 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-10-12 17:38:12,545 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-10-12 17:38:12,546 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-10-12 17:38:12,557 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,583 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,589 INFO L138 Inliner]: procedures = 3, calls = 2, calls flagged for inlining = 0, calls inlined = 0, statements flattened = 0 [2023-10-12 17:38:12,590 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-10-12 17:38:12,591 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-10-12 17:38:12,592 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-10-12 17:38:12,592 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-10-12 17:38:12,600 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,600 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,608 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,609 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,624 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,627 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,628 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,629 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,632 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-10-12 17:38:12,633 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-10-12 17:38:12,633 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-10-12 17:38:12,633 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-10-12 17:38:12,637 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/1) ... [2023-10-12 17:38:12,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-10-12 17:38:12,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-10-12 17:38:12,665 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) [2023-10-12 17:38:12,676 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 [2023-10-12 17:38:12,700 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread1 given in one single declaration [2023-10-12 17:38:12,701 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2023-10-12 17:38:12,701 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2023-10-12 17:38:12,701 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread2 given in one single declaration [2023-10-12 17:38:12,701 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2023-10-12 17:38:12,701 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2023-10-12 17:38:12,701 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2023-10-12 17:38:12,702 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-10-12 17:38:12,702 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-10-12 17:38:12,703 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-10-12 17:38:12,751 INFO L236 CfgBuilder]: Building ICFG [2023-10-12 17:38:12,753 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-10-12 17:38:12,985 INFO L277 CfgBuilder]: Performing block encoding [2023-10-12 17:38:13,167 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-10-12 17:38:13,167 INFO L302 CfgBuilder]: Removed 4 assume(true) statements. [2023-10-12 17:38:13,170 INFO L201 PluginConnector]: Adding new model poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.10 05:38:13 BoogieIcfgContainer [2023-10-12 17:38:13,171 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-10-12 17:38:13,172 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-10-12 17:38:13,172 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-10-12 17:38:13,176 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-10-12 17:38:13,177 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-10-12 17:38:13,177 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 12.10 05:38:12" (1/2) ... [2023-10-12 17:38:13,178 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@5b99ef9d and model type poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.10 05:38:13, skipping insertion in model container [2023-10-12 17:38:13,179 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-10-12 17:38:13,180 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.10 05:38:13" (2/2) ... [2023-10-12 17:38:13,181 INFO L332 chiAutomizerObserver]: Analyzing ICFG poker-hand-symm.wvr.bpl [2023-10-12 17:38:13,251 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2023-10-12 17:38:13,283 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 25 places, 28 transitions, 72 flow [2023-10-12 17:38:13,309 INFO L124 PetriNetUnfolderBase]: 8/24 cut-off events. [2023-10-12 17:38:13,309 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-10-12 17:38:13,313 INFO L83 FinitePrefix]: Finished finitePrefix Result has 33 conditions, 24 events. 8/24 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 30 event pairs, 0 based on Foata normal form. 0/15 useless extension candidates. Maximal degree in co-relation 19. Up to 3 conditions per place. [2023-10-12 17:38:13,313 INFO L82 GeneralOperation]: Start removeDead. Operand has 25 places, 28 transitions, 72 flow [2023-10-12 17:38:13,316 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 23 places, 24 transitions, 60 flow [2023-10-12 17:38:13,319 INFO L115 etLargeBlockEncoding]: Petri net LBE is using semantic-based independence relation. [2023-10-12 17:38:13,332 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 23 places, 24 transitions, 60 flow [2023-10-12 17:38:13,334 INFO L113 LiptonReduction]: Starting Lipton reduction on Petri net that has 23 places, 24 transitions, 60 flow [2023-10-12 17:38:13,334 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 23 places, 24 transitions, 60 flow [2023-10-12 17:38:13,342 INFO L124 PetriNetUnfolderBase]: 8/24 cut-off events. [2023-10-12 17:38:13,342 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-10-12 17:38:13,343 INFO L83 FinitePrefix]: Finished finitePrefix Result has 33 conditions, 24 events. 8/24 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 30 event pairs, 0 based on Foata normal form. 0/15 useless extension candidates. Maximal degree in co-relation 19. Up to 3 conditions per place. [2023-10-12 17:38:13,343 INFO L119 LiptonReduction]: Number of co-enabled transitions 160 [2023-10-12 17:38:14,697 INFO L134 LiptonReduction]: Checked pairs total: 54 [2023-10-12 17:38:14,697 INFO L136 LiptonReduction]: Total number of compositions: 9 [2023-10-12 17:38:14,708 INFO L305 stractBuchiCegarLoop]: Interprodecural is true [2023-10-12 17:38:14,708 INFO L306 stractBuchiCegarLoop]: Hoare is false [2023-10-12 17:38:14,708 INFO L307 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-10-12 17:38:14,708 INFO L308 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-10-12 17:38:14,710 INFO L309 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-10-12 17:38:14,710 INFO L310 stractBuchiCegarLoop]: Difference is false [2023-10-12 17:38:14,710 INFO L311 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-10-12 17:38:14,710 INFO L315 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == RabinPetriNetCegarLoop ======== [2023-10-12 17:38:14,711 INFO L67 RabinIsEmpty]: Start rabinIsEmpty. Operand has 19 places, 20 transitions, 52 flow [2023-10-12 17:38:14,715 ERROR L47 etriNetUnfolderRabin]: [1:1A:[242] $Ultimate##0-->$Ultimate##0: Formula: (= v_thread1Thread1of1ForFork0_thidvar0_2 1) InVars {} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_thidvar0][10], 3:2A:[224] $Ultimate##0-->L66: Formula: (and (= v_i2_11_10 0) (let ((.cse0 (select v_count_occurrences_of_6_35 3))) (or (< 1 .cse0) (and (= .cse0 1) (not (= 0 (+ (select v_index_of_4_71 2) 1)))))) (= (select v_last_index_of_7_25 3) (select v_last_index_of_3_25 3)) (not v_break_12_11) (let ((.cse1 (select v_count_occurrences_of_2_39 3))) (or (and (= .cse1 1) (not (= (+ (select v_index_of_0_71 2) 1) 0))) (< 1 .cse1))) (= (+ (select v_index_of_4_71 4) 1) 0) (= (+ (select v_index_of_0_71 4) 1) 0)) InVars {count_occurrences_of_2=v_count_occurrences_of_2_39, last_index_of_7=v_last_index_of_7_25, index_of_4=v_index_of_4_71, last_index_of_3=v_last_index_of_3_25, count_occurrences_of_6=v_count_occurrences_of_6_35, index_of_0=v_index_of_0_71} OutVars{count_occurrences_of_2=v_count_occurrences_of_2_39, i2_11=v_i2_11_10, break_12=v_break_12_11, last_index_of_7=v_last_index_of_7_25, index_of_4=v_index_of_4_71, last_index_of_3=v_last_index_of_3_25, count_occurrences_of_6=v_count_occurrences_of_6_35, index_of_0=v_index_of_0_71} AuxVars[] AssignedVars[i2_11, break_12][1]][4:3A:[228] L66-->L66: Formula: (let ((.cse9 (select v_char_at_1_23 v_i2_11_16)) (.cse10 (select v_char_at_5_23 v_i2_11_16)) (.cse8 (= (select v_last_index_of_3_39 3) v_i2_11_16))) (let ((.cse0 (not v_break_12_18)) (.cse1 (not .cse8)) (.cse4 (= .cse10 3)) (.cse6 (= .cse9 2)) (.cse5 (= .cse10 2)) (.cse7 (= .cse9 3))) (and .cse0 (<= v_i2_11_16 12) (= v_result_8_45 (let ((.cse3 (or .cse6 .cse7)) (.cse2 (or .cse4 .cse5))) (ite (and .cse1 .cse2 .cse3) 0 (ite (and .cse1 .cse3) (- 1) (ite (and .cse1 .cse2) 1 v_result_8_46))))) (or (and (not v_break_12_17) .cse0 (or (and (not .cse5) (not .cse6) (not .cse7) (not .cse4)) .cse8)) (and v_break_12_17 (or (and .cse1 (or .cse4 .cse6 .cse5 .cse7)) v_break_12_18)))))) InVars {result_8=v_result_8_46, i2_11=v_i2_11_16, break_12=v_break_12_18, char_at_1=v_char_at_1_23, char_at_5=v_char_at_5_23, last_index_of_3=v_last_index_of_3_39} OutVars{result_8=v_result_8_45, i2_11=v_i2_11_16, break_12=v_break_12_17, char_at_1=v_char_at_1_23, char_at_5=v_char_at_5_23, last_index_of_3=v_last_index_of_3_39} AuxVars[] AssignedVars[result_8, break_12][7]] [2023-10-12 17:38:14,717 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2023-10-12 17:38:14,718 INFO L124 PetriNetUnfolderBase]: 0/3 cut-off events. [2023-10-12 17:38:14,718 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-10-12 17:38:14,718 INFO L72 RabinIsEmpty]: Finished rabinIsEmpty language is not empty [2023-10-12 17:38:14,720 INFO L337 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-10-12 17:38:14,720 INFO L67 RabinIsEmpty]: Start rabinIsEmpty. Operand has 19 places, 20 transitions, 52 flow [2023-10-12 17:38:14,721 ERROR L47 etriNetUnfolderRabin]: [1:1A:[242] $Ultimate##0-->$Ultimate##0: Formula: (= v_thread1Thread1of1ForFork0_thidvar0_2 1) InVars {} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_thidvar0][10], 3:2A:[224] $Ultimate##0-->L66: Formula: (and (= v_i2_11_10 0) (let ((.cse0 (select v_count_occurrences_of_6_35 3))) (or (< 1 .cse0) (and (= .cse0 1) (not (= 0 (+ (select v_index_of_4_71 2) 1)))))) (= (select v_last_index_of_7_25 3) (select v_last_index_of_3_25 3)) (not v_break_12_11) (let ((.cse1 (select v_count_occurrences_of_2_39 3))) (or (and (= .cse1 1) (not (= (+ (select v_index_of_0_71 2) 1) 0))) (< 1 .cse1))) (= (+ (select v_index_of_4_71 4) 1) 0) (= (+ (select v_index_of_0_71 4) 1) 0)) InVars {count_occurrences_of_2=v_count_occurrences_of_2_39, last_index_of_7=v_last_index_of_7_25, index_of_4=v_index_of_4_71, last_index_of_3=v_last_index_of_3_25, count_occurrences_of_6=v_count_occurrences_of_6_35, index_of_0=v_index_of_0_71} OutVars{count_occurrences_of_2=v_count_occurrences_of_2_39, i2_11=v_i2_11_10, break_12=v_break_12_11, last_index_of_7=v_last_index_of_7_25, index_of_4=v_index_of_4_71, last_index_of_3=v_last_index_of_3_25, count_occurrences_of_6=v_count_occurrences_of_6_35, index_of_0=v_index_of_0_71} AuxVars[] AssignedVars[i2_11, break_12][1]][4:3A:[228] L66-->L66: Formula: (let ((.cse9 (select v_char_at_1_23 v_i2_11_16)) (.cse10 (select v_char_at_5_23 v_i2_11_16)) (.cse8 (= (select v_last_index_of_3_39 3) v_i2_11_16))) (let ((.cse0 (not v_break_12_18)) (.cse1 (not .cse8)) (.cse4 (= .cse10 3)) (.cse6 (= .cse9 2)) (.cse5 (= .cse10 2)) (.cse7 (= .cse9 3))) (and .cse0 (<= v_i2_11_16 12) (= v_result_8_45 (let ((.cse3 (or .cse6 .cse7)) (.cse2 (or .cse4 .cse5))) (ite (and .cse1 .cse2 .cse3) 0 (ite (and .cse1 .cse3) (- 1) (ite (and .cse1 .cse2) 1 v_result_8_46))))) (or (and (not v_break_12_17) .cse0 (or (and (not .cse5) (not .cse6) (not .cse7) (not .cse4)) .cse8)) (and v_break_12_17 (or (and .cse1 (or .cse4 .cse6 .cse5 .cse7)) v_break_12_18)))))) InVars {result_8=v_result_8_46, i2_11=v_i2_11_16, break_12=v_break_12_18, char_at_1=v_char_at_1_23, char_at_5=v_char_at_5_23, last_index_of_3=v_last_index_of_3_39} OutVars{result_8=v_result_8_45, i2_11=v_i2_11_16, break_12=v_break_12_17, char_at_1=v_char_at_1_23, char_at_5=v_char_at_5_23, last_index_of_3=v_last_index_of_3_39} AuxVars[] AssignedVars[result_8, break_12][7]] [2023-10-12 17:38:14,721 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2023-10-12 17:38:14,721 INFO L124 PetriNetUnfolderBase]: 0/3 cut-off events. [2023-10-12 17:38:14,721 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-10-12 17:38:14,721 INFO L72 RabinIsEmpty]: Finished rabinIsEmpty language is not empty [2023-10-12 17:38:14,726 INFO L748 eck$LassoCheckResult]: Stem: 29#[$Ultimate##0]true [242] $Ultimate##0-->$Ultimate##0: Formula: (= v_thread1Thread1of1ForFork0_thidvar0_2 1) InVars {} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_thidvar0] 31#[L199, $Ultimate##0]true [224] $Ultimate##0-->L66: Formula: (and (= v_i2_11_10 0) (let ((.cse0 (select v_count_occurrences_of_6_35 3))) (or (< 1 .cse0) (and (= .cse0 1) (not (= 0 (+ (select v_index_of_4_71 2) 1)))))) (= (select v_last_index_of_7_25 3) (select v_last_index_of_3_25 3)) (not v_break_12_11) (let ((.cse1 (select v_count_occurrences_of_2_39 3))) (or (and (= .cse1 1) (not (= (+ (select v_index_of_0_71 2) 1) 0))) (< 1 .cse1))) (= (+ (select v_index_of_4_71 4) 1) 0) (= (+ (select v_index_of_0_71 4) 1) 0)) InVars {count_occurrences_of_2=v_count_occurrences_of_2_39, last_index_of_7=v_last_index_of_7_25, index_of_4=v_index_of_4_71, last_index_of_3=v_last_index_of_3_25, count_occurrences_of_6=v_count_occurrences_of_6_35, index_of_0=v_index_of_0_71} OutVars{count_occurrences_of_2=v_count_occurrences_of_2_39, i2_11=v_i2_11_10, break_12=v_break_12_11, last_index_of_7=v_last_index_of_7_25, index_of_4=v_index_of_4_71, last_index_of_3=v_last_index_of_3_25, count_occurrences_of_6=v_count_occurrences_of_6_35, index_of_0=v_index_of_0_71} AuxVars[] AssignedVars[i2_11, break_12] 33#[L199, L66]true [2023-10-12 17:38:14,726 INFO L750 eck$LassoCheckResult]: Loop: 33#[L199, L66]true [228] L66-->L66: Formula: (let ((.cse9 (select v_char_at_1_23 v_i2_11_16)) (.cse10 (select v_char_at_5_23 v_i2_11_16)) (.cse8 (= (select v_last_index_of_3_39 3) v_i2_11_16))) (let ((.cse0 (not v_break_12_18)) (.cse1 (not .cse8)) (.cse4 (= .cse10 3)) (.cse6 (= .cse9 2)) (.cse5 (= .cse10 2)) (.cse7 (= .cse9 3))) (and .cse0 (<= v_i2_11_16 12) (= v_result_8_45 (let ((.cse3 (or .cse6 .cse7)) (.cse2 (or .cse4 .cse5))) (ite (and .cse1 .cse2 .cse3) 0 (ite (and .cse1 .cse3) (- 1) (ite (and .cse1 .cse2) 1 v_result_8_46))))) (or (and (not v_break_12_17) .cse0 (or (and (not .cse5) (not .cse6) (not .cse7) (not .cse4)) .cse8)) (and v_break_12_17 (or (and .cse1 (or .cse4 .cse6 .cse5 .cse7)) v_break_12_18)))))) InVars {result_8=v_result_8_46, i2_11=v_i2_11_16, break_12=v_break_12_18, char_at_1=v_char_at_1_23, char_at_5=v_char_at_5_23, last_index_of_3=v_last_index_of_3_39} OutVars{result_8=v_result_8_45, i2_11=v_i2_11_16, break_12=v_break_12_17, char_at_1=v_char_at_1_23, char_at_5=v_char_at_5_23, last_index_of_3=v_last_index_of_3_39} AuxVars[] AssignedVars[result_8, break_12] 33#[L199, L66]true [2023-10-12 17:38:14,730 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-10-12 17:38:14,731 INFO L85 PathProgramCache]: Analyzing trace with hash 8687, now seen corresponding path program 1 times [2023-10-12 17:38:14,739 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-10-12 17:38:14,740 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1508892694] [2023-10-12 17:38:14,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-10-12 17:38:14,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-10-12 17:38:14,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:14,855 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-10-12 17:38:14,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:14,876 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-10-12 17:38:14,878 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-10-12 17:38:14,878 INFO L85 PathProgramCache]: Analyzing trace with hash 259, now seen corresponding path program 1 times [2023-10-12 17:38:14,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-10-12 17:38:14,879 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1490636429] [2023-10-12 17:38:14,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-10-12 17:38:14,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-10-12 17:38:14,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:14,890 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-10-12 17:38:14,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:14,897 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-10-12 17:38:14,898 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-10-12 17:38:14,899 INFO L85 PathProgramCache]: Analyzing trace with hash 269525, now seen corresponding path program 1 times [2023-10-12 17:38:14,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-10-12 17:38:14,899 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [360978295] [2023-10-12 17:38:14,899 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-10-12 17:38:14,899 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-10-12 17:38:14,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:14,910 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-10-12 17:38:14,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:14,921 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-10-12 17:38:15,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:15,506 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-10-12 17:38:15,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-10-12 17:38:15,528 INFO L201 PluginConnector]: Adding new model poker-hand-symm.wvr.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 12.10 05:38:15 BoogieIcfgContainer [2023-10-12 17:38:15,528 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2023-10-12 17:38:15,530 INFO L158 Benchmark]: Toolchain (without parser) took 2992.22ms. Allocated memory was 179.3MB in the beginning and 249.6MB in the end (delta: 70.3MB). Free memory was 131.7MB in the beginning and 116.2MB in the end (delta: 15.5MB). Peak memory consumption was 86.1MB. Max. memory is 8.0GB. [2023-10-12 17:38:15,530 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.70ms. Allocated memory is still 179.3MB. Free memory is still 133.6MB. There was no memory consumed. Max. memory is 8.0GB. [2023-10-12 17:38:15,530 INFO L158 Benchmark]: Boogie Procedure Inliner took 44.99ms. Allocated memory is still 179.3MB. Free memory was 131.5MB in the beginning and 130.0MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2023-10-12 17:38:15,531 INFO L158 Benchmark]: Boogie Preprocessor took 40.90ms. Allocated memory is still 179.3MB. Free memory was 130.0MB in the beginning and 128.2MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2023-10-12 17:38:15,532 INFO L158 Benchmark]: RCFGBuilder took 537.69ms. Allocated memory was 179.3MB in the beginning and 249.6MB in the end (delta: 70.3MB). Free memory was 128.2MB in the beginning and 202.9MB in the end (delta: -74.7MB). Peak memory consumption was 21.1MB. Max. memory is 8.0GB. [2023-10-12 17:38:15,532 INFO L158 Benchmark]: BuchiAutomizer took 2356.23ms. Allocated memory is still 249.6MB. Free memory was 202.9MB in the beginning and 116.2MB in the end (delta: 86.6MB). Peak memory consumption was 86.0MB. Max. memory is 8.0GB. [2023-10-12 17:38:15,535 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.70ms. Allocated memory is still 179.3MB. Free memory is still 133.6MB. There was no memory consumed. Max. memory is 8.0GB. * Boogie Procedure Inliner took 44.99ms. Allocated memory is still 179.3MB. Free memory was 131.5MB in the beginning and 130.0MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 40.90ms. Allocated memory is still 179.3MB. Free memory was 130.0MB in the beginning and 128.2MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 537.69ms. Allocated memory was 179.3MB in the beginning and 249.6MB in the end (delta: 70.3MB). Free memory was 128.2MB in the beginning and 202.9MB in the end (delta: -74.7MB). Peak memory consumption was 21.1MB. Max. memory is 8.0GB. * BuchiAutomizer took 2356.23ms. Allocated memory is still 249.6MB. Free memory was 202.9MB in the beginning and 116.2MB in the end (delta: 86.6MB). Peak memory consumption was 86.0MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Trivial decomposition into one nonterminating module. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 2.2s and 1 iterations. TraceHistogramMax:0. Analysis of lassos took 0.7s. Construction of modules took 0.0s. Büchi inclusion checks took 0.0s. Highest rank in rank-based complementation 0. 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 [0, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: LassoAnalysisResults: nont1 unkn0 SFLI0 SFLT0 conc0 concLT0 SILN0 SILU0 SILI0 SILT0 lasso0 LassoPreprocessingBenchmarks: LassoTerminationAnalysisBenchmarks: not availableLassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 1.4s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - LassoShapedNonTerminationArgument [Line: 65]: Nontermination argument in form of an infinite program execution. Nontermination argument in form of an infinite program execution. Stem: [L199] FORK 0 fork 1 thread1(); [L58] 1 assume !(index_of_0[4] != 0 - 1 || index_of_4[4] != 0 - 1); [L59] 1 assume count_occurrences_of_2[3] > 1 || (count_occurrences_of_2[3] == 1 && index_of_0[2] != 0 - 1); [L60] 1 assume count_occurrences_of_6[3] > 1 || (count_occurrences_of_6[3] == 1 && index_of_4[2] != 0 - 1); [L61] 1 assume last_index_of_3[3] == last_index_of_7[3]; [L62] 1 i2_11 := 0; [L63] 1 break_12 := false; VAL [break_12=false, i2_11=0] Loop: [L67] assume !break_12 && i2_11 <= 12; [L68] result_8 := (if i2_11 != last_index_of_3[3] && (char_at_1[i2_11] == 2 || char_at_1[i2_11] == 3) && (char_at_5[i2_11] == 2 || char_at_5[i2_11] == 3) then 0 else (if i2_11 != last_index_of_3[3] && (char_at_1[i2_11] == 2 || char_at_1[i2_11] == 3) then 0 - 1 else (if i2_11 != last_index_of_3[3] && (char_at_5[i2_11] == 2 || char_at_5[i2_11] == 3) then 1 else result_8))); [L69] break_12 := (if i2_11 != last_index_of_3[3] && (char_at_1[i2_11] == 2 || char_at_1[i2_11] == 3 || char_at_5[i2_11] == 2 || char_at_5[i2_11] == 3) then true else break_12); End of lasso representation. - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 65]: Nonterminating execution Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L199] FORK 0 fork 1 thread1(); [L58] 1 assume !(index_of_0[4] != 0 - 1 || index_of_4[4] != 0 - 1); [L59] 1 assume count_occurrences_of_2[3] > 1 || (count_occurrences_of_2[3] == 1 && index_of_0[2] != 0 - 1); [L60] 1 assume count_occurrences_of_6[3] > 1 || (count_occurrences_of_6[3] == 1 && index_of_4[2] != 0 - 1); [L61] 1 assume last_index_of_3[3] == last_index_of_7[3]; [L62] 1 i2_11 := 0; [L63] 1 break_12 := false; VAL [break_12=false, i2_11=0] Loop: [L67] assume !break_12 && i2_11 <= 12; [L68] result_8 := (if i2_11 != last_index_of_3[3] && (char_at_1[i2_11] == 2 || char_at_1[i2_11] == 3) && (char_at_5[i2_11] == 2 || char_at_5[i2_11] == 3) then 0 else (if i2_11 != last_index_of_3[3] && (char_at_1[i2_11] == 2 || char_at_1[i2_11] == 3) then 0 - 1 else (if i2_11 != last_index_of_3[3] && (char_at_5[i2_11] == 2 || char_at_5[i2_11] == 3) then 1 else result_8))); [L69] break_12 := (if i2_11 != last_index_of_3[3] && (char_at_1[i2_11] == 2 || char_at_1[i2_11] == 3 || char_at_5[i2_11] == 2 || char_at_5[i2_11] == 3) then true else break_12); End of lasso representation. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: - StatisticsResult: PetriNetLargeBlockEncoding benchmarks Lipton Reduction Statistics: ReductionTime: 1.4s, 23 PlacesBefore, 19 PlacesAfterwards, 24 TransitionsBefore, 20 TransitionsAfterwards, 160 CoEnabledTransitionPairs, 2 FixpointIterations, 3 TrivialSequentialCompositions, 0 ConcurrentSequentialCompositions, 0 TrivialYvCompositions, 6 ConcurrentYvCompositions, 0 ChoiceCompositions, 9 TotalNumberOfCompositions, 54 MoverChecksTotal, Independence Relation Statistics: CachedIndependenceRelation.Independence Queries: [ total: 54, independent: 54, independent conditional: 0, independent unconditional: 54, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 54, independent: 54, independent conditional: 0, independent unconditional: 54, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 54, independent: 54, independent conditional: 0, independent unconditional: 54, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Independence Queries: [ total: 0, independent: 0, independent conditional: 0, independent unconditional: 0, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 0, independent: 0, independent conditional: 0, independent unconditional: 0, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] ], Cache Queries: [ total: 54, independent: 0, independent conditional: 0, independent unconditional: 0, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 54, unknown conditional: 0, unknown unconditional: 54] , Statistics on independence cache: Total cache size (in pairs): 0, Positive cache size: 0, Positive conditional cache size: 0, Positive unconditional cache size: 0, Negative cache size: 0, Negative conditional cache size: 0, Negative unconditional cache size: 0, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0 RESULT: Ultimate proved your program to be incorrect! [2023-10-12 17:38:15,573 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...