if you want to roll an array of dice here are two options:
\* Same for both version
VARIABLE die
Init ==
die = [i \in 1..8 |-> 1]
\* Roll Each die by itself
\* Explore if any of the dice are rolled
RollDie(x, val) ==
die' = [die EXCEPT ![x] = val]
Next == \* Example Usage
\/ \E d \in DOMAIN die, f \in 1..6: RollDie(d, f)
\* or Roll all the dice simultaneously
RollDie ==
\E d \in [{1..8} -> 1..6]: die' = d
Generally when it comes to state space exploration, they roughly yield the same results, so it's more about readability and what you're trying to convey
Alex