Consider the Kripke structure: $$ \begin{array}{ccccccc} \to & (p, \neg q) & \to & (\neg p, \neg q) & \to & (\neg p, q) \\ & \circlearrowright & & \circlearrowright & & \circlearrowright & \\ \end{array} $$
where $(p, \neg q)$ means “$p$ and not $q$” and $\circlearrowright$ is a self loop. We number the states $s_1, s_2, s_3$ from left to right. Now consider the three LTL properties: $$ \begin{array}{ll} M \vDash \mathbf{G}\,\mathbf{F}\,p \to \mathbf{G}\,\mathbf{F}\,q & \text{false} \\ M \vDash \mathbf{G}\,\mathbf{F}\,p & \text{false} \\ M \vDash \mathbf{G}\,\mathbf{F}\,q & \text{false} \\ \end{array}$$
The oddity is this: how can $\text{false} \to \text{false}$ be false?
P.S.: I am sure of the results because I used NuSMV with the following code:
MODULE main
VAR
state : {a, b, c};
p : boolean;
q : boolean;
ASSIGN
init(state) := a;
next(state) :=
case
state=a : {a,b};
state=b : c;
state=c : c;
esac;
p :=
case
state=a : TRUE;
state=b : FALSE;
state=c : FALSE;
esac;
q :=
case
state=a : FALSE;
state=b : FALSE;
state=c : TRUE;
esac;
LTLSPEC
((G ( F p = TRUE)) -> (G ( F q = TRUE)))
LTLSPEC
(G ( F p = TRUE))
LTLSPEC
(G ( F q = TRUE))