Dear TLA+ community,
I try to understand PaxosCommit. There are some questions I hope you could point me to where to find an answer.
# How does \geq work?
Taken from the PaxosCommit there is a \geq on sets:
LET Max[T \in SUBSET S] ==
IF T = {} THEN -1
ELSE LET n == CHOOSE n \in T : TRUE
rmax == Max[T \ {n}]
IN IF n \geq rmax THEN n ELSE rmax <=====
IN Max[S]
As far as I get it this can be something like:
{1, 2} \geq {1, 2, 3}
What would be the result?
# Why the difference?
Taken form PaxosCommit:
PCTypeOK ==
/\ rmState \in [RM -> {"working", "prepared", "committed", "aborted"}]
/\ aState \in [RM -> [Acceptor -> [mbal : Ballot,
bal : Ballot \cup {-1},
val : {"prepared", "aborted", "none"}]]]
/\ msgs \in SUBSET Message <======
Taken from TCommit
TPTypeOK ==
/\ rmState \in [r \in RM |-> {"working", "prepared", "comitted", "aborted"}]
/\ tmState \in {"init", "done"}
/\ tmPrepared \subseteq RM
/\ msgs \subseteq Messages <========
What are the results of using it with SUBSET and with out?
Thanks for your help.
Best,
Gunnar