cmd rsize
--------------------
A size_8/size_16/size_32/size_64 (Any size)
B size_64
C size_8/size_16/size_32/size_64 (Any size)
D size_8/size_16/size_32/size_64 (Any size)
The expectation is to control both cmd and rsize through distribution of weights.
As I understand, this leads to having the size as “size_64” only for “cmd_B” and not for others, because of the bi-directional nature of the implication
How can we add a constraint such that we can get other legal combinations of {cmd_A, size_64}, [cmd_C, size_64} etc…
The implication operator is not “bidirectional” in the sense that the implication is still satified when size == size_64 and cmd != B. The constraint is bidirectional in the choice of the random value for size affects the choice for cmd and vice versa. A better choice of words might be “simultaneously”.
What this means is if you pick a distribution for size, or constrain it such that choosing size==size_64 occurs only 1% of the time, there’s no way you could choose cmd==B more than 1% of the time as well.
But also, since the cmd_A is only chosen 10% of the time,
{cmd_A, size_64/size_others} ~= 10% of total weight.
Therefore, does this mean the above combination of legal values will happen almost in equal numbers . i.e 50% of the total number of legal combinations.
The LRM does not spell out how competing distribution play out, but the resulting probability will come out around 50/50. cmd_B comes out slightly less because there are few valid solutions available.