| You say that you intend the processor(_) operator to change the state of the document. But then it cannot be a constant operator, as it should be if it appears among the CONSTANT parameters. Indeed, basicProcessor(d) is an action formula, so SANY rightfully refuses to let you instantiate the parameter processor by basicProcessor. If you want to have your specification be parameterized by document processors, you could introduce a (constant-level) operator parameter that takes both the current status and the document as arguments and returns the processed document as the result. Then you can write something like document_status’ = [document_status EXCEPT ![d] = processor(document_status, d)] in the definition of Next. In that case, the definition of basicProcessor would become basicProcessor(ds, d) == [state |-> Head(ds[d].queue), queue |-> Tail(ds[d].queue)] Hope this helps, Stephan
--
You received this message because you are subscribed to the Google Groups "tlaplus" group. To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx. To view this discussion visit https://groups.google.com/d/msgid/tlaplus/E1C93948-D68C-479C-88CB-5F69C8FEE60B%40gmail.com. |