A no vote permits abort in this tiny two-phase commit FSM.
highlighted = computed this step
Abort on no vote
In this tiny model, an abort decision is valid only when at least one participant has voted no. A no vote changes the final participant states together.
no vote permits abort
Abort transition
The replay records 2 votes, including 1 no vote, and ends with 3 aborted participants.
votes=2,no votes=1,aborted=3
two-phase commit is rendered here as a tiny exact FSM trace; timeouts, recovery, network partitions, availability, and database-product behavior are out of scope.
Summary
Abort is also guarded by the replayed votes. Note: presumed-abort variants and recovery choices are intentionally not represented.