./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 3a877d22 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1493e9da3ad278988eda47a556733ebc5ac5411d3350d76fb478293d9e5d934e --- Real Ultimate output --- This is Ultimate 0.2.2-3a877d227dc491413fd706022d0c47cd97beb353-3a877d2 [2021-12-15 11:05:03,209 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-12-15 11:05:03,211 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-12-15 11:05:03,277 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-12-15 11:05:03,277 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-12-15 11:05:03,283 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-12-15 11:05:03,284 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-12-15 11:05:03,285 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-12-15 11:05:03,290 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-12-15 11:05:03,295 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-12-15 11:05:03,296 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-12-15 11:05:03,298 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-12-15 11:05:03,298 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-12-15 11:05:03,300 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-12-15 11:05:03,302 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-12-15 11:05:03,305 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-12-15 11:05:03,306 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-12-15 11:05:03,309 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-12-15 11:05:03,311 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-12-15 11:05:03,315 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-12-15 11:05:03,318 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-12-15 11:05:03,319 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-12-15 11:05:03,319 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-12-15 11:05:03,320 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-12-15 11:05:03,322 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-12-15 11:05:03,323 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-12-15 11:05:03,325 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-12-15 11:05:03,325 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-12-15 11:05:03,326 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-12-15 11:05:03,327 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-12-15 11:05:03,327 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-12-15 11:05:03,328 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-12-15 11:05:03,329 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-12-15 11:05:03,330 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-12-15 11:05:03,331 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-12-15 11:05:03,331 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-12-15 11:05:03,332 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-12-15 11:05:03,332 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-12-15 11:05:03,332 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-12-15 11:05:03,332 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-12-15 11:05:03,333 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-12-15 11:05:03,334 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2021-12-15 11:05:03,354 INFO L113 SettingsManager]: Loading preferences was successful [2021-12-15 11:05:03,361 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-12-15 11:05:03,362 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-12-15 11:05:03,362 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-12-15 11:05:03,363 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2021-12-15 11:05:03,363 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2021-12-15 11:05:03,364 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-12-15 11:05:03,364 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-12-15 11:05:03,364 INFO L138 SettingsManager]: * Use SBE=true [2021-12-15 11:05:03,364 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-12-15 11:05:03,365 INFO L138 SettingsManager]: * sizeof long=4 [2021-12-15 11:05:03,365 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2021-12-15 11:05:03,365 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-12-15 11:05:03,365 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-12-15 11:05:03,366 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2021-12-15 11:05:03,366 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-12-15 11:05:03,366 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2021-12-15 11:05:03,366 INFO L138 SettingsManager]: * sizeof long double=12 [2021-12-15 11:05:03,366 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-12-15 11:05:03,366 INFO L138 SettingsManager]: * Use constant arrays=true [2021-12-15 11:05:03,366 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2021-12-15 11:05:03,367 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-12-15 11:05:03,367 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-12-15 11:05:03,367 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-12-15 11:05:03,367 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:05:03,367 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-12-15 11:05:03,368 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-12-15 11:05:03,368 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2021-12-15 11:05:03,368 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2021-12-15 11:05:03,368 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2021-12-15 11:05:03,368 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2021-12-15 11:05:03,368 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2021-12-15 11:05:03,369 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2021-12-15 11:05:03,369 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-12-15 11:05:03,369 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 1493e9da3ad278988eda47a556733ebc5ac5411d3350d76fb478293d9e5d934e [2021-12-15 11:05:03,541 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-12-15 11:05:03,562 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-12-15 11:05:03,564 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-12-15 11:05:03,565 INFO L271 PluginConnector]: Initializing CDTParser... [2021-12-15 11:05:03,573 INFO L275 PluginConnector]: CDTParser initialized [2021-12-15 11:05:03,574 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c [2021-12-15 11:05:03,627 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9ad53075d/05182f0e804848aaa4c0a71ea3201256/FLAGd5ac629a8 [2021-12-15 11:05:04,094 INFO L306 CDTParser]: Found 1 translation units. [2021-12-15 11:05:04,095 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c [2021-12-15 11:05:04,120 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9ad53075d/05182f0e804848aaa4c0a71ea3201256/FLAGd5ac629a8 [2021-12-15 11:05:04,424 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9ad53075d/05182f0e804848aaa4c0a71ea3201256 [2021-12-15 11:05:04,426 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-12-15 11:05:04,428 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2021-12-15 11:05:04,429 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-12-15 11:05:04,429 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-12-15 11:05:04,447 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-12-15 11:05:04,447 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:05:04" (1/1) ... [2021-12-15 11:05:04,457 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5cd49d99 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:04, skipping insertion in model container [2021-12-15 11:05:04,458 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:05:04" (1/1) ... [2021-12-15 11:05:04,463 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-12-15 11:05:04,507 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-12-15 11:05:04,738 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c[11768,11781] [2021-12-15 11:05:04,898 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:05:04,914 INFO L203 MainTranslator]: Completed pre-run [2021-12-15 11:05:04,946 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c[11768,11781] [2021-12-15 11:05:05,016 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:05:05,039 INFO L208 MainTranslator]: Completed translation [2021-12-15 11:05:05,040 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05 WrapperNode [2021-12-15 11:05:05,041 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-12-15 11:05:05,042 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-12-15 11:05:05,042 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-12-15 11:05:05,042 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-12-15 11:05:05,047 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,066 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,099 INFO L137 Inliner]: procedures = 95, calls = 344, calls flagged for inlining = 27, calls inlined = 23, statements flattened = 873 [2021-12-15 11:05:05,115 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-12-15 11:05:05,116 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-12-15 11:05:05,116 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-12-15 11:05:05,116 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-12-15 11:05:05,122 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,122 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,127 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,127 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,139 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,149 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,152 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,158 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-12-15 11:05:05,159 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-12-15 11:05:05,159 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-12-15 11:05:05,159 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-12-15 11:05:05,160 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (1/1) ... [2021-12-15 11:05:05,166 INFO L168 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:05:05,175 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-12-15 11:05:05,185 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2021-12-15 11:05:05,224 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2021-12-15 11:05:05,247 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2021-12-15 11:05:05,247 INFO L130 BoogieDeclarations]: Found specification of procedure getWeight [2021-12-15 11:05:05,247 INFO L138 BoogieDeclarations]: Found implementation of procedure getWeight [2021-12-15 11:05:05,247 INFO L130 BoogieDeclarations]: Found specification of procedure bigMacCall [2021-12-15 11:05:05,247 INFO L138 BoogieDeclarations]: Found implementation of procedure bigMacCall [2021-12-15 11:05:05,247 INFO L130 BoogieDeclarations]: Found specification of procedure enterElevator [2021-12-15 11:05:05,248 INFO L138 BoogieDeclarations]: Found implementation of procedure enterElevator [2021-12-15 11:05:05,248 INFO L130 BoogieDeclarations]: Found specification of procedure stopRequestedInDirection [2021-12-15 11:05:05,248 INFO L138 BoogieDeclarations]: Found implementation of procedure stopRequestedInDirection [2021-12-15 11:05:05,248 INFO L130 BoogieDeclarations]: Found specification of procedure getReverseHeading [2021-12-15 11:05:05,248 INFO L138 BoogieDeclarations]: Found implementation of procedure getReverseHeading [2021-12-15 11:05:05,249 INFO L130 BoogieDeclarations]: Found specification of procedure stopRequestedInDirection__wrappee__empty [2021-12-15 11:05:05,249 INFO L138 BoogieDeclarations]: Found implementation of procedure stopRequestedInDirection__wrappee__empty [2021-12-15 11:05:05,249 INFO L130 BoogieDeclarations]: Found specification of procedure timeShift [2021-12-15 11:05:05,249 INFO L138 BoogieDeclarations]: Found implementation of procedure timeShift [2021-12-15 11:05:05,249 INFO L130 BoogieDeclarations]: Found specification of procedure cleanup [2021-12-15 11:05:05,249 INFO L138 BoogieDeclarations]: Found implementation of procedure cleanup [2021-12-15 11:05:05,249 INFO L130 BoogieDeclarations]: Found specification of procedure areDoorsOpen [2021-12-15 11:05:05,250 INFO L138 BoogieDeclarations]: Found implementation of procedure areDoorsOpen [2021-12-15 11:05:05,250 INFO L130 BoogieDeclarations]: Found specification of procedure __automaton_fail [2021-12-15 11:05:05,250 INFO L138 BoogieDeclarations]: Found implementation of procedure __automaton_fail [2021-12-15 11:05:05,250 INFO L130 BoogieDeclarations]: Found specification of procedure isTopFloor [2021-12-15 11:05:05,250 INFO L138 BoogieDeclarations]: Found implementation of procedure isTopFloor [2021-12-15 11:05:05,250 INFO L130 BoogieDeclarations]: Found specification of procedure getDestination [2021-12-15 11:05:05,250 INFO L138 BoogieDeclarations]: Found implementation of procedure getDestination [2021-12-15 11:05:05,251 INFO L130 BoogieDeclarations]: Found specification of procedure isBlocked [2021-12-15 11:05:05,251 INFO L138 BoogieDeclarations]: Found implementation of procedure isBlocked [2021-12-15 11:05:05,251 INFO L130 BoogieDeclarations]: Found specification of procedure getCurrentFloorID [2021-12-15 11:05:05,251 INFO L138 BoogieDeclarations]: Found implementation of procedure getCurrentFloorID [2021-12-15 11:05:05,251 INFO L130 BoogieDeclarations]: Found specification of procedure resetCallOnFloor [2021-12-15 11:05:05,251 INFO L138 BoogieDeclarations]: Found implementation of procedure resetCallOnFloor [2021-12-15 11:05:05,251 INFO L130 BoogieDeclarations]: Found specification of procedure initPersonOnFloor [2021-12-15 11:05:05,251 INFO L138 BoogieDeclarations]: Found implementation of procedure initPersonOnFloor [2021-12-15 11:05:05,252 INFO L130 BoogieDeclarations]: Found specification of procedure removePersonFromFloor [2021-12-15 11:05:05,252 INFO L138 BoogieDeclarations]: Found implementation of procedure removePersonFromFloor [2021-12-15 11:05:05,252 INFO L130 BoogieDeclarations]: Found specification of procedure getOrigin [2021-12-15 11:05:05,252 INFO L138 BoogieDeclarations]: Found implementation of procedure getOrigin [2021-12-15 11:05:05,252 INFO L130 BoogieDeclarations]: Found specification of procedure continueInDirection [2021-12-15 11:05:05,252 INFO L138 BoogieDeclarations]: Found implementation of procedure continueInDirection [2021-12-15 11:05:05,253 INFO L130 BoogieDeclarations]: Found specification of procedure isEmpty [2021-12-15 11:05:05,253 INFO L138 BoogieDeclarations]: Found implementation of procedure isEmpty [2021-12-15 11:05:05,253 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2021-12-15 11:05:05,253 INFO L130 BoogieDeclarations]: Found specification of procedure buttonForFloorIsPressed [2021-12-15 11:05:05,253 INFO L138 BoogieDeclarations]: Found implementation of procedure buttonForFloorIsPressed [2021-12-15 11:05:05,253 INFO L130 BoogieDeclarations]: Found specification of procedure pressInLiftFloorButton [2021-12-15 11:05:05,253 INFO L138 BoogieDeclarations]: Found implementation of procedure pressInLiftFloorButton [2021-12-15 11:05:05,254 INFO L130 BoogieDeclarations]: Found specification of procedure leaveElevator [2021-12-15 11:05:05,254 INFO L138 BoogieDeclarations]: Found implementation of procedure leaveElevator [2021-12-15 11:05:05,254 INFO L130 BoogieDeclarations]: Found specification of procedure isPersonOnFloor [2021-12-15 11:05:05,254 INFO L138 BoogieDeclarations]: Found implementation of procedure isPersonOnFloor [2021-12-15 11:05:05,254 INFO L130 BoogieDeclarations]: Found specification of procedure timeShift__wrappee__twothirdsfull [2021-12-15 11:05:05,254 INFO L138 BoogieDeclarations]: Found implementation of procedure timeShift__wrappee__twothirdsfull [2021-12-15 11:05:05,255 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-12-15 11:05:05,255 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-12-15 11:05:05,255 INFO L130 BoogieDeclarations]: Found specification of procedure isFloorCalling [2021-12-15 11:05:05,256 INFO L138 BoogieDeclarations]: Found implementation of procedure isFloorCalling [2021-12-15 11:05:05,389 INFO L236 CfgBuilder]: Building ICFG [2021-12-15 11:05:05,391 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2021-12-15 11:05:06,048 INFO L277 CfgBuilder]: Performing block encoding [2021-12-15 11:05:06,061 INFO L296 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-12-15 11:05:06,061 INFO L301 CfgBuilder]: Removed 1 assume(true) statements. [2021-12-15 11:05:06,063 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:05:06 BoogieIcfgContainer [2021-12-15 11:05:06,063 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-12-15 11:05:06,064 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-12-15 11:05:06,065 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-12-15 11:05:06,081 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-12-15 11:05:06,081 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.12 11:05:04" (1/3) ... [2021-12-15 11:05:06,082 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d6a4ed7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:05:06, skipping insertion in model container [2021-12-15 11:05:06,082 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:05" (2/3) ... [2021-12-15 11:05:06,082 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d6a4ed7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:05:06, skipping insertion in model container [2021-12-15 11:05:06,082 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:05:06" (3/3) ... [2021-12-15 11:05:06,083 INFO L111 eAbstractionObserver]: Analyzing ICFG elevator_spec9_product30.cil.c [2021-12-15 11:05:06,086 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-12-15 11:05:06,087 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2021-12-15 11:05:06,125 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-12-15 11:05:06,133 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2021-12-15 11:05:06,133 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2021-12-15 11:05:06,222 INFO L276 IsEmpty]: Start isEmpty. Operand has 576 states, 452 states have (on average 1.6924778761061947) internal successors, (765), 475 states have internal predecessors, (765), 96 states have call successors, (96), 26 states have call predecessors, (96), 26 states have return successors, (96), 89 states have call predecessors, (96), 96 states have call successors, (96) [2021-12-15 11:05:06,236 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2021-12-15 11:05:06,237 INFO L506 BasicCegarLoop]: Found error trace [2021-12-15 11:05:06,237 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 11:05:06,238 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __automaton_failErr0ASSERT_VIOLATIONERROR_FUNCTION === [__automaton_failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2021-12-15 11:05:06,243 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 11:05:06,243 INFO L85 PathProgramCache]: Analyzing trace with hash 1316381237, now seen corresponding path program 1 times [2021-12-15 11:05:06,250 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 11:05:06,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1899561678] [2021-12-15 11:05:06,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 11:05:06,252 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 11:05:06,327 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2021-12-15 11:05:06,328 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: Set is immutable at de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.UnmodifiableTransFormula.removeSuperfluousVars(UnmodifiableTransFormula.java:212) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaBuilder.finishConstruction(TransFormulaBuilder.java:273) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.constructGlobalVarsAssignment(OldVarsAssignmentCache.java:155) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.getGlobalVarsAssignment(OldVarsAssignmentCache.java:93) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:89) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:1) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.NestedFormulas.getGlobalVarAssignment(NestedFormulas.java:126) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckUtils.decoupleArrayValues(TraceCheckUtils.java:384) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheck.(InterpolatingTraceCheck.java:87) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:89) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleCraig.construct(IpTcStrategyModuleCraig.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleCraig.construct(IpTcStrategyModuleCraig.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:124) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:88) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:393) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:263) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:176) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2021-12-15 11:05:06,340 INFO L158 Benchmark]: Toolchain (without parser) took 1910.20ms. Allocated memory was 123.7MB in the beginning and 190.8MB in the end (delta: 67.1MB). Free memory was 95.3MB in the beginning and 151.0MB in the end (delta: -55.7MB). Peak memory consumption was 10.6MB. Max. memory is 16.1GB. [2021-12-15 11:05:06,341 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 123.7MB. Free memory is still 81.0MB. There was no memory consumed. Max. memory is 16.1GB. [2021-12-15 11:05:06,342 INFO L158 Benchmark]: CACSL2BoogieTranslator took 612.21ms. Allocated memory was 123.7MB in the beginning and 190.8MB in the end (delta: 67.1MB). Free memory was 94.9MB in the beginning and 136.4MB in the end (delta: -41.5MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2021-12-15 11:05:06,343 INFO L158 Benchmark]: Boogie Procedure Inliner took 73.98ms. Allocated memory is still 190.8MB. Free memory was 136.4MB in the beginning and 130.9MB in the end (delta: 5.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2021-12-15 11:05:06,344 INFO L158 Benchmark]: Boogie Preprocessor took 42.04ms. Allocated memory is still 190.8MB. Free memory was 130.9MB in the beginning and 125.9MB in the end (delta: 5.0MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2021-12-15 11:05:06,345 INFO L158 Benchmark]: RCFGBuilder took 904.47ms. Allocated memory is still 190.8MB. Free memory was 125.9MB in the beginning and 63.0MB in the end (delta: 62.9MB). Peak memory consumption was 62.9MB. Max. memory is 16.1GB. [2021-12-15 11:05:06,345 INFO L158 Benchmark]: TraceAbstraction took 272.73ms. Allocated memory is still 190.8MB. Free memory was 63.0MB in the beginning and 151.0MB in the end (delta: -88.0MB). There was no memory consumed. Max. memory is 16.1GB. [2021-12-15 11:05:06,349 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 123.7MB. Free memory is still 81.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 612.21ms. Allocated memory was 123.7MB in the beginning and 190.8MB in the end (delta: 67.1MB). Free memory was 94.9MB in the beginning and 136.4MB in the end (delta: -41.5MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 73.98ms. Allocated memory is still 190.8MB. Free memory was 136.4MB in the beginning and 130.9MB in the end (delta: 5.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 42.04ms. Allocated memory is still 190.8MB. Free memory was 130.9MB in the beginning and 125.9MB in the end (delta: 5.0MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * RCFGBuilder took 904.47ms. Allocated memory is still 190.8MB. Free memory was 125.9MB in the beginning and 63.0MB in the end (delta: 62.9MB). Peak memory consumption was 62.9MB. Max. memory is 16.1GB. * TraceAbstraction took 272.73ms. Allocated memory is still 190.8MB. Free memory was 63.0MB in the beginning and 151.0MB in the end (delta: -88.0MB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: Set is immutable: de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2021-12-15 11:05:06,386 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1493e9da3ad278988eda47a556733ebc5ac5411d3350d76fb478293d9e5d934e --- Real Ultimate output --- This is Ultimate 0.2.2-3a877d227dc491413fd706022d0c47cd97beb353-3a877d2 [2021-12-15 11:05:08,241 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-12-15 11:05:08,243 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-12-15 11:05:08,282 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-12-15 11:05:08,282 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-12-15 11:05:08,283 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-12-15 11:05:08,295 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-12-15 11:05:08,297 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-12-15 11:05:08,298 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-12-15 11:05:08,298 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-12-15 11:05:08,299 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-12-15 11:05:08,300 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-12-15 11:05:08,300 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-12-15 11:05:08,301 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-12-15 11:05:08,302 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-12-15 11:05:08,302 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-12-15 11:05:08,303 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-12-15 11:05:08,304 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-12-15 11:05:08,305 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-12-15 11:05:08,306 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-12-15 11:05:08,307 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-12-15 11:05:08,308 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-12-15 11:05:08,308 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-12-15 11:05:08,309 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-12-15 11:05:08,310 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-12-15 11:05:08,311 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-12-15 11:05:08,311 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-12-15 11:05:08,312 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-12-15 11:05:08,312 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-12-15 11:05:08,313 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-12-15 11:05:08,313 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-12-15 11:05:08,313 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-12-15 11:05:08,314 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-12-15 11:05:08,314 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-12-15 11:05:08,315 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-12-15 11:05:08,315 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-12-15 11:05:08,316 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-12-15 11:05:08,316 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-12-15 11:05:08,316 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-12-15 11:05:08,317 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-12-15 11:05:08,317 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-12-15 11:05:08,324 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2021-12-15 11:05:08,343 INFO L113 SettingsManager]: Loading preferences was successful [2021-12-15 11:05:08,344 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-12-15 11:05:08,344 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-12-15 11:05:08,344 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-12-15 11:05:08,345 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2021-12-15 11:05:08,345 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2021-12-15 11:05:08,345 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-12-15 11:05:08,346 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-12-15 11:05:08,346 INFO L138 SettingsManager]: * Use SBE=true [2021-12-15 11:05:08,346 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-12-15 11:05:08,346 INFO L138 SettingsManager]: * sizeof long=4 [2021-12-15 11:05:08,346 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-12-15 11:05:08,346 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-12-15 11:05:08,347 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2021-12-15 11:05:08,347 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-12-15 11:05:08,347 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2021-12-15 11:05:08,347 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2021-12-15 11:05:08,347 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2021-12-15 11:05:08,347 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2021-12-15 11:05:08,347 INFO L138 SettingsManager]: * sizeof long double=12 [2021-12-15 11:05:08,348 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-12-15 11:05:08,348 INFO L138 SettingsManager]: * Use constant arrays=true [2021-12-15 11:05:08,348 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2021-12-15 11:05:08,348 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-12-15 11:05:08,348 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-12-15 11:05:08,348 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-12-15 11:05:08,349 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:05:08,349 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-12-15 11:05:08,349 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-12-15 11:05:08,349 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2021-12-15 11:05:08,349 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2021-12-15 11:05:08,349 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2021-12-15 11:05:08,350 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2021-12-15 11:05:08,350 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2021-12-15 11:05:08,350 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2021-12-15 11:05:08,350 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-12-15 11:05:08,350 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2021-12-15 11:05:08,350 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 1493e9da3ad278988eda47a556733ebc5ac5411d3350d76fb478293d9e5d934e [2021-12-15 11:05:08,618 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-12-15 11:05:08,637 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-12-15 11:05:08,638 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-12-15 11:05:08,639 INFO L271 PluginConnector]: Initializing CDTParser... [2021-12-15 11:05:08,640 INFO L275 PluginConnector]: CDTParser initialized [2021-12-15 11:05:08,641 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c [2021-12-15 11:05:08,686 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b2d76b1f0/f44cc8ecdac04b209f5b1a4ba1c6441a/FLAG0c494fba0 [2021-12-15 11:05:09,155 INFO L306 CDTParser]: Found 1 translation units. [2021-12-15 11:05:09,156 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c [2021-12-15 11:05:09,184 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b2d76b1f0/f44cc8ecdac04b209f5b1a4ba1c6441a/FLAG0c494fba0 [2021-12-15 11:05:09,512 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b2d76b1f0/f44cc8ecdac04b209f5b1a4ba1c6441a [2021-12-15 11:05:09,514 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-12-15 11:05:09,515 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2021-12-15 11:05:09,516 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-12-15 11:05:09,516 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-12-15 11:05:09,519 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-12-15 11:05:09,519 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:05:09" (1/1) ... [2021-12-15 11:05:09,521 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@14a5ec7e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:09, skipping insertion in model container [2021-12-15 11:05:09,521 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:05:09" (1/1) ... [2021-12-15 11:05:09,525 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-12-15 11:05:09,588 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-12-15 11:05:09,800 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c[11768,11781] [2021-12-15 11:05:09,941 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:05:09,956 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2021-12-15 11:05:09,969 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-12-15 11:05:10,007 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c[11768,11781] [2021-12-15 11:05:10,073 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:05:10,081 INFO L203 MainTranslator]: Completed pre-run [2021-12-15 11:05:10,103 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec9_product30.cil.c[11768,11781] [2021-12-15 11:05:10,135 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:05:10,169 INFO L208 MainTranslator]: Completed translation [2021-12-15 11:05:10,170 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10 WrapperNode [2021-12-15 11:05:10,170 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-12-15 11:05:10,171 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-12-15 11:05:10,172 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-12-15 11:05:10,172 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-12-15 11:05:10,177 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,215 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,261 INFO L137 Inliner]: procedures = 97, calls = 344, calls flagged for inlining = 27, calls inlined = 23, statements flattened = 825 [2021-12-15 11:05:10,261 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-12-15 11:05:10,262 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-12-15 11:05:10,262 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-12-15 11:05:10,262 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-12-15 11:05:10,274 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,274 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,280 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,282 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,303 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,315 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,319 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,324 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-12-15 11:05:10,325 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-12-15 11:05:10,325 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-12-15 11:05:10,325 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-12-15 11:05:10,325 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (1/1) ... [2021-12-15 11:05:10,330 INFO L168 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:05:10,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-12-15 11:05:10,360 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2021-12-15 11:05:10,366 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2021-12-15 11:05:10,393 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2021-12-15 11:05:10,393 INFO L130 BoogieDeclarations]: Found specification of procedure getWeight [2021-12-15 11:05:10,393 INFO L138 BoogieDeclarations]: Found implementation of procedure getWeight [2021-12-15 11:05:10,394 INFO L130 BoogieDeclarations]: Found specification of procedure bigMacCall [2021-12-15 11:05:10,394 INFO L138 BoogieDeclarations]: Found implementation of procedure bigMacCall [2021-12-15 11:05:10,394 INFO L130 BoogieDeclarations]: Found specification of procedure enterElevator [2021-12-15 11:05:10,394 INFO L138 BoogieDeclarations]: Found implementation of procedure enterElevator [2021-12-15 11:05:10,394 INFO L130 BoogieDeclarations]: Found specification of procedure stopRequestedInDirection [2021-12-15 11:05:10,394 INFO L138 BoogieDeclarations]: Found implementation of procedure stopRequestedInDirection [2021-12-15 11:05:10,394 INFO L130 BoogieDeclarations]: Found specification of procedure getReverseHeading [2021-12-15 11:05:10,394 INFO L138 BoogieDeclarations]: Found implementation of procedure getReverseHeading [2021-12-15 11:05:10,394 INFO L130 BoogieDeclarations]: Found specification of procedure stopRequestedInDirection__wrappee__empty [2021-12-15 11:05:10,395 INFO L138 BoogieDeclarations]: Found implementation of procedure stopRequestedInDirection__wrappee__empty [2021-12-15 11:05:10,395 INFO L130 BoogieDeclarations]: Found specification of procedure timeShift [2021-12-15 11:05:10,395 INFO L138 BoogieDeclarations]: Found implementation of procedure timeShift [2021-12-15 11:05:10,395 INFO L130 BoogieDeclarations]: Found specification of procedure cleanup [2021-12-15 11:05:10,395 INFO L138 BoogieDeclarations]: Found implementation of procedure cleanup [2021-12-15 11:05:10,395 INFO L130 BoogieDeclarations]: Found specification of procedure areDoorsOpen [2021-12-15 11:05:10,395 INFO L138 BoogieDeclarations]: Found implementation of procedure areDoorsOpen [2021-12-15 11:05:10,395 INFO L130 BoogieDeclarations]: Found specification of procedure __automaton_fail [2021-12-15 11:05:10,395 INFO L138 BoogieDeclarations]: Found implementation of procedure __automaton_fail [2021-12-15 11:05:10,396 INFO L130 BoogieDeclarations]: Found specification of procedure isTopFloor [2021-12-15 11:05:10,396 INFO L138 BoogieDeclarations]: Found implementation of procedure isTopFloor [2021-12-15 11:05:10,396 INFO L130 BoogieDeclarations]: Found specification of procedure getDestination [2021-12-15 11:05:10,396 INFO L138 BoogieDeclarations]: Found implementation of procedure getDestination [2021-12-15 11:05:10,396 INFO L130 BoogieDeclarations]: Found specification of procedure isBlocked [2021-12-15 11:05:10,396 INFO L138 BoogieDeclarations]: Found implementation of procedure isBlocked [2021-12-15 11:05:10,396 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2021-12-15 11:05:10,396 INFO L130 BoogieDeclarations]: Found specification of procedure getCurrentFloorID [2021-12-15 11:05:10,396 INFO L138 BoogieDeclarations]: Found implementation of procedure getCurrentFloorID [2021-12-15 11:05:10,397 INFO L130 BoogieDeclarations]: Found specification of procedure resetCallOnFloor [2021-12-15 11:05:10,397 INFO L138 BoogieDeclarations]: Found implementation of procedure resetCallOnFloor [2021-12-15 11:05:10,397 INFO L130 BoogieDeclarations]: Found specification of procedure initPersonOnFloor [2021-12-15 11:05:10,397 INFO L138 BoogieDeclarations]: Found implementation of procedure initPersonOnFloor [2021-12-15 11:05:10,397 INFO L130 BoogieDeclarations]: Found specification of procedure removePersonFromFloor [2021-12-15 11:05:10,397 INFO L138 BoogieDeclarations]: Found implementation of procedure removePersonFromFloor [2021-12-15 11:05:10,397 INFO L130 BoogieDeclarations]: Found specification of procedure getOrigin [2021-12-15 11:05:10,397 INFO L138 BoogieDeclarations]: Found implementation of procedure getOrigin [2021-12-15 11:05:10,397 INFO L130 BoogieDeclarations]: Found specification of procedure continueInDirection [2021-12-15 11:05:10,398 INFO L138 BoogieDeclarations]: Found implementation of procedure continueInDirection [2021-12-15 11:05:10,398 INFO L130 BoogieDeclarations]: Found specification of procedure isEmpty [2021-12-15 11:05:10,398 INFO L138 BoogieDeclarations]: Found implementation of procedure isEmpty [2021-12-15 11:05:10,398 INFO L130 BoogieDeclarations]: Found specification of procedure buttonForFloorIsPressed [2021-12-15 11:05:10,398 INFO L138 BoogieDeclarations]: Found implementation of procedure buttonForFloorIsPressed [2021-12-15 11:05:10,398 INFO L130 BoogieDeclarations]: Found specification of procedure pressInLiftFloorButton [2021-12-15 11:05:10,398 INFO L138 BoogieDeclarations]: Found implementation of procedure pressInLiftFloorButton [2021-12-15 11:05:10,398 INFO L130 BoogieDeclarations]: Found specification of procedure leaveElevator [2021-12-15 11:05:10,398 INFO L138 BoogieDeclarations]: Found implementation of procedure leaveElevator [2021-12-15 11:05:10,399 INFO L130 BoogieDeclarations]: Found specification of procedure isPersonOnFloor [2021-12-15 11:05:10,399 INFO L138 BoogieDeclarations]: Found implementation of procedure isPersonOnFloor [2021-12-15 11:05:10,399 INFO L130 BoogieDeclarations]: Found specification of procedure timeShift__wrappee__twothirdsfull [2021-12-15 11:05:10,399 INFO L138 BoogieDeclarations]: Found implementation of procedure timeShift__wrappee__twothirdsfull [2021-12-15 11:05:10,399 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-12-15 11:05:10,399 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-12-15 11:05:10,399 INFO L130 BoogieDeclarations]: Found specification of procedure isFloorCalling [2021-12-15 11:05:10,399 INFO L138 BoogieDeclarations]: Found implementation of procedure isFloorCalling [2021-12-15 11:05:10,574 INFO L236 CfgBuilder]: Building ICFG [2021-12-15 11:05:10,581 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2021-12-15 11:05:11,337 INFO L277 CfgBuilder]: Performing block encoding [2021-12-15 11:05:11,344 INFO L296 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-12-15 11:05:11,345 INFO L301 CfgBuilder]: Removed 1 assume(true) statements. [2021-12-15 11:05:11,346 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:05:11 BoogieIcfgContainer [2021-12-15 11:05:11,347 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-12-15 11:05:11,348 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-12-15 11:05:11,348 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-12-15 11:05:11,350 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-12-15 11:05:11,350 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.12 11:05:09" (1/3) ... [2021-12-15 11:05:11,350 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6601b99a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:05:11, skipping insertion in model container [2021-12-15 11:05:11,351 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:05:10" (2/3) ... [2021-12-15 11:05:11,351 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6601b99a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:05:11, skipping insertion in model container [2021-12-15 11:05:11,351 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:05:11" (3/3) ... [2021-12-15 11:05:11,352 INFO L111 eAbstractionObserver]: Analyzing ICFG elevator_spec9_product30.cil.c [2021-12-15 11:05:11,355 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-12-15 11:05:11,355 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2021-12-15 11:05:11,386 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-12-15 11:05:11,390 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2021-12-15 11:05:11,391 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2021-12-15 11:05:11,412 INFO L276 IsEmpty]: Start isEmpty. Operand has 576 states, 452 states have (on average 1.6924778761061947) internal successors, (765), 475 states have internal predecessors, (765), 96 states have call successors, (96), 26 states have call predecessors, (96), 26 states have return successors, (96), 89 states have call predecessors, (96), 96 states have call successors, (96) [2021-12-15 11:05:11,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2021-12-15 11:05:11,424 INFO L506 BasicCegarLoop]: Found error trace [2021-12-15 11:05:11,426 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 11:05:11,427 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __automaton_failErr0ASSERT_VIOLATIONERROR_FUNCTION === [__automaton_failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2021-12-15 11:05:11,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 11:05:11,431 INFO L85 PathProgramCache]: Analyzing trace with hash 1316381237, now seen corresponding path program 1 times [2021-12-15 11:05:11,445 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-12-15 11:05:11,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1246664704] [2021-12-15 11:05:11,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 11:05:11,447 INFO L168 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-12-15 11:05:11,447 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-12-15 11:05:11,449 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-12-15 11:05:11,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2021-12-15 11:05:11,517 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Ended with exit code 0 [2021-12-15 11:05:11,714 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-12-15 11:05:11,714 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: Set is immutable at de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.UnmodifiableTransFormula.removeSuperfluousVars(UnmodifiableTransFormula.java:212) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaBuilder.finishConstruction(TransFormulaBuilder.java:273) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.constructGlobalVarsAssignment(OldVarsAssignmentCache.java:155) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.getGlobalVarsAssignment(OldVarsAssignmentCache.java:93) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:89) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:1) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.NestedFormulas.getGlobalVarAssignment(NestedFormulas.java:126) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckUtils.decoupleArrayValues(TraceCheckUtils.java:384) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheck.(InterpolatingTraceCheck.java:87) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:132) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:124) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:88) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:393) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:263) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:176) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2021-12-15 11:05:11,717 INFO L158 Benchmark]: Toolchain (without parser) took 2201.01ms. Allocated memory was 54.5MB in the beginning and 92.3MB in the end (delta: 37.7MB). Free memory was 30.9MB in the beginning and 44.7MB in the end (delta: -13.8MB). Peak memory consumption was 22.9MB. Max. memory is 16.1GB. [2021-12-15 11:05:11,717 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 54.5MB. Free memory is still 36.7MB. There was no memory consumed. Max. memory is 16.1GB. [2021-12-15 11:05:11,718 INFO L158 Benchmark]: CACSL2BoogieTranslator took 654.44ms. Allocated memory was 54.5MB in the beginning and 75.5MB in the end (delta: 21.0MB). Free memory was 30.7MB in the beginning and 31.3MB in the end (delta: -612.4kB). Peak memory consumption was 23.0MB. Max. memory is 16.1GB. [2021-12-15 11:05:11,719 INFO L158 Benchmark]: Boogie Procedure Inliner took 89.75ms. Allocated memory is still 75.5MB. Free memory was 31.3MB in the beginning and 26.6MB in the end (delta: 4.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2021-12-15 11:05:11,720 INFO L158 Benchmark]: Boogie Preprocessor took 62.39ms. Allocated memory is still 75.5MB. Free memory was 26.6MB in the beginning and 52.3MB in the end (delta: -25.7MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2021-12-15 11:05:11,723 INFO L158 Benchmark]: RCFGBuilder took 1022.16ms. Allocated memory was 75.5MB in the beginning and 92.3MB in the end (delta: 16.8MB). Free memory was 51.8MB in the beginning and 59.2MB in the end (delta: -7.5MB). Peak memory consumption was 37.1MB. Max. memory is 16.1GB. [2021-12-15 11:05:11,723 INFO L158 Benchmark]: TraceAbstraction took 367.91ms. Allocated memory is still 92.3MB. Free memory was 58.7MB in the beginning and 44.7MB in the end (delta: 13.9MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2021-12-15 11:05:11,725 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 54.5MB. Free memory is still 36.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 654.44ms. Allocated memory was 54.5MB in the beginning and 75.5MB in the end (delta: 21.0MB). Free memory was 30.7MB in the beginning and 31.3MB in the end (delta: -612.4kB). Peak memory consumption was 23.0MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 89.75ms. Allocated memory is still 75.5MB. Free memory was 31.3MB in the beginning and 26.6MB in the end (delta: 4.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 62.39ms. Allocated memory is still 75.5MB. Free memory was 26.6MB in the beginning and 52.3MB in the end (delta: -25.7MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * RCFGBuilder took 1022.16ms. Allocated memory was 75.5MB in the beginning and 92.3MB in the end (delta: 16.8MB). Free memory was 51.8MB in the beginning and 59.2MB in the end (delta: -7.5MB). Peak memory consumption was 37.1MB. Max. memory is 16.1GB. * TraceAbstraction took 367.91ms. Allocated memory is still 92.3MB. Free memory was 58.7MB in the beginning and 44.7MB in the end (delta: 13.9MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: Set is immutable: de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2021-12-15 11:05:11,755 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable