Hi,
understanding fairness is difficult: it is a mathematical abstraction of the property that you want to assert. A good start is reading section 8.4 of Specifying Systems, which introduces WF.
One way of thinking about fairness is to consider what behaviors you want to exclude from consideration. Since
WF_v(A) == (<>[] ENABLED <<A>>_v) => []<> <<A>>_v
the behaviors that violate that condition (i.e., that satisfy its negation) are those in which
(<>[] ENABLED <<A>>_v) /\ ~[]<> <<A>>_v
holds, which is equivalent to
(<>[] ENABLED <<A>>_v) /\ <>[][~A]_v
or again to
<>(([] ENABLED <<A>>_v) /\ [][~A]_v)
In other words, assuming WF_v(A) rules out behaviors in which, from some point on, <<A>>_v could always be taken but never is. Once <<A>>_v is disabled (perhaps because it was just performed), the condition holds vacuously.
I hope this helps,
Stephan