If ABABAB... etc is allowed without C (or D) ever taking place ("A could interrupt the process forever"), why require strong, rather than weak fairness on B,C,D for 3b?
After all, C would be enabled infinitely often, but never required to occur.
Weak fairness says that C must be executed if it's continuously enabled. It allows ABABABAB... . Strong fairness says that C must be executed if