I meant []~ENABLED. As soon as the action is enabled at some point, your condition requires <<A>>_v to eventually occur.
Stephan On 13 Nov 2025, at 19:18, Chris Ortiz <zitroomega@xxxxxxxxx> wrote:
Hi Stephan,
Thank you. Do you mean never enabled (which I think is []~ENABLED) , or it should be not always enabled (which is ~[]ENABLED)?
Best regards, Chris (Zitro)
On Thursday, November 13, 2025 at 9:44:15 AM UTC-8 Chris Ortiz wrote:
Thank you Andrew and Stephan. I was thinking the same way but I don't trust my intuition as I don't know how to formally prove it.
For the second formula. [](<>[]ENABLED <<A>>_v => <><<A>>_v)
[]<>[]ENABLED <<A>>_v => []<><<A>>_v <>[]ENABLED<<A>>_v => []<><<A>>_v ~<>[]ENABLED<<A>>_v \/ []<><<A>>_v []~[]ENABLED<<A>>_v \/ []<><<A>>_v [](~[]ENABLED<<A>>_v \/ <><<A>>_v) []([]ENABLED<<A>>_v => <><<A>>_v) which is WF_v(A)
So it means the second formula is just a tautology of WF_v(A), or equivalent.
For the first formula [](ENABLED <<A>>_v => <><<A>>_v) []ENABLED<<A>>_v => []<><<A>>_v ~[]ENABLED<<A>>_v \/ []<><<A>>_v <--- This is where I mind got short-circuited
As per Andrew, if this is unconditional fairness then this should be equivalent to []<><<A>>_v, for which I don't know how to derive.
Thanks and best regards, Chris (Zitro)
On Thursday, November 13, 2025 at 8:59:57 AM UTC-8 Andrew Helwer wrote:
Thanks, Stephan! Another interesting question that occurs to me is whether the first formula is equivalent to unconditional fairness, since presumably a step must be enabled before it can be taken. Thus the ENABLED A precondition seems redundant.
Andrew As Andrew suspects, the second formula is equivalent to weak fairness:
THEOREM ASSUME NEW ACTION A, NEW STATE v PROVE WF_v(A) <=> [](<>[]ENABLED <<A>>_v => <><<A>>_v) BY PTL
Stephan [](ENABLED <<A>>_v => <><<A>>_v) is equivalent to []((ENABLED A) ~> <><<A>>_v) which means if an A step is enabled (like at all), eventually it will be taken; moreover, it will also be taken after every time an A step is enabled in the future. This is like an even stronger fairness assumption, but looking through the texts I have it does not seem to be a standard one. The usual next strongest fairness assumption in temporal logic is unconditional fairness, which is just []<><<A>>_v. There are a lot of fairness definitions out there though so I'm sure someone has covered & named it.
For the second one, since P => <>P, it seems to be implied by weak fairness. So it is at most as strong as weak fairness. Is it any weaker than weak fairness? I can't think of how it could be, but then we should be able to rewrite it into weak fairness. And there I am somewhat at a loss.
Andrew
--
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+u...@xxxxxxxxxxxxxxxx.
--
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+u...@xxxxxxxxxxxxxxxx.
--
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/292f0d2e-3021-44a3-b4e8-1df70431a53en%40googlegroups.com.
--
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/B4A61FEC-59EE-443F-9688-0C2032423C66%40gmail.com.
|