The best way to answer these questions is to understand the TLA+ specification that corresponds to a PlusCal algorithm. You can play with the attached module to better understand what is going on.
True: macros are inlined, the instructions of a macro are indistinguishable from instructions appearing in the body of the process or algorithm that uses the macro.
False: there will be a global fairness condition corresponding to the overall next-state relation, so execution will not stutter forever if some transition is enabled. However, this does not mean that there is a fairness condition for each of the processes appearing in the algorithm, which is what you are after if I understand correctly. Annotating an algorithm with a fairness condition is mostly relevant if there are no processes.
That doesn’t happen with the attached module. It rather sounds like a malformed property? Also note that there are certain fairness conditions that cannot be expressed in PlusCal, in particular for requiring fair non-deterministic choice. In those cases, you will have to write your fairness conditions in TLA+ directly. Regards, 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/F4A2599D-B7BA-4477-AA3A-45EDE8D29711%40gmail.com. |
Attachment:
PlusCal.tla
Description: Binary data
-- 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/F4A2599D-B7BA-4477-AA3A-45EDE8D29711%40gmail.com. |
Attachment:
PlusCal.cfg
Description: Binary data
-- 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/F4A2599D-B7BA-4477-AA3A-45EDE8D29711%40gmail.com. |