It could just be inexperience. I can't go through the whole spec for you, but one thing that I notice is you have
IsValidData(d) == d /= NULL /\ d.id \in Nat /\ d.value \in
Nat /\ d.version <= MaxVersion
Assuming you have no additional keys in your structs, this can be
ValidData == [id: Nat, value: Nat, version: 1..MaxVersion]
/\ UpdateRequestQueue \in Seq([client: Clients, data: ValidData])
/\ DeleteRequestQueue \in Seq([client: Clients, data: ValidData])
Which is less than half the length and much clearer. I'd guess there are similar places you can clean up the spec.
On 7/1/19 2:10 PM, zll zbw wrote:
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 post to this group, send email to tlaplus@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/tlaplus.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/0a59e189-36a2-b727-3cf3-226c27df4f70%40gmail.com.
For more options, visit https://groups.google.com/d/optout.