|
Thanks for your comprehensive responses - they helped me understand better - i think Lamport's intended solution was the t'(p)+1 because that makes the footnote 5 make sense! Until I saw this i could not understand the point of the footnote. As a programmer
it is uncomfortable - and just removing the 3rd conjunct is easier (for me) - but that is not what he is trying to show - I think.
Dave
From: tlaplus@xxxxxxxxxxxxxxxx <tlaplus@xxxxxxxxxxxxxxxx> on behalf of Stephan Merz <stephan.merz@xxxxxxxxx>
Sent: Monday, November 24, 2025 20:22 To: tlaplus@xxxxxxxxxxxxxxxx <tlaplus@xxxxxxxxxxxxxxxx> Subject: Re: [tlaplus] Science of Concurrent Programs: 3.4.1.4 Error in Composition? You are correct to point out that this definition is wrong. Logically, action composition of two actions A(x, x’) and B(x,x’) where x denotes a tuple of all state variables corresponds to the conjunction \E x’’ : A(x,
x’’) /\ B(x’’, x’) where x’’ is a fresh tuple of variables. In the example we get
-- aStep(p) . bStep(p) = \E x’’, t’’, pc’' :
/\ pc(p) = a
/\ x’’ = x
/\ t’’ = (t EXCEPT p |-> x)
/\ pc’’ = (pc EXCEPT p |-> b)
/\ pc’’(p) = b
/\ x’ = t’’(p) + 1
/\ t’ = t’'
/\ pc’ = (pc’’ EXCEPT p |-> done)
Some simplification, in particular using the "one-point rule" (\E y : y = t /\ A(y)) = A(t), yields
aStep(p) . bStep(p) =
/\ pc(p) = a
/\ x’ = x+1 \* alternatively: x’ = t’(p)+1
/\ t’ = (t EXCEPT p |-> x)
/\ pc’ = (pc EXCEPT p |-> done)
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/3F39D6C4-274D-4369-A0EB-7B78A4389C04%40gmail.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/MN2PR12MB318446FF96AE120E1B960D72F2D0A%40MN2PR12MB3184.namprd12.prod.outlook.com. |