My understanding from the paper:
 PoS validators determine the most valid chain at every 100th block
 validators vote on PoW blocks, they don’t generate their own
 tip after a most recent checkpoint is PoW based
 for PoW to exist there has to be a block reward
Therefore:
1.) Hostile PoW attack.
In the case of a hostile PoW attack, validators are likely to cooperate and ignore the hostile PoW chain to save the network. It only requires a relatively short period of time to bring the PoW difficulty down. After that, validators start to mine lowdifficulty PoW blocks  these blocks are initially ignored by other nodes. Then they create a checkpoint, making it the most valid chain. The rest of the network forks to their chain.
2.) Profitmaximizing validators.
Validators have a strong incentive (PoW block rewards) to conspire and ignore external PoW even in the absence of an attack. Not a realistic concern due to being invested for the longterm.
In both cases ethereum functionally changes to one ‘megablock’ (divided into 100 blocks) per ~23 minutes.
What (1) means is that PoW is irrelevant to the security, what (2) means is that validators are (implicitly) assumed to not be “rational” but at least a bit friendly, which makes PoW pointless in itself.
I propose a very simple alternative to PoW in FFG. It’s not meant to be the ideal end solution, merely better than PoW while being very simple to implement. Global PoW waste is infuriating.
I  target PoS inflation (interest) per epoch, in percents, assuming infinite coins vote
coins  how many coins in total
V_e  ordered set (array) of active validators (accounts) for epoch e
V_e.stake  how many coins these validators have in total
I_e  effective inflation rate for epoch e
F_e  total gas fees for epoch e
(a) for every epoch e scale the interest rate according to the logistic function, ie:
I_e = I * sigmoid(k * V_e.stake/coins)
Where k is the scaling factor.
At every checkpoint that ends epoch e:
(b) Scale the deposit for all active validators:
for v in V_e: v.stake *= (1 + I_e)
(c) divide all fees from the epoch proportionally amongst all active validators according to their deposits:
for v in V_e: v.stake += F_e * v.stake/V_e.stake
Which allows a simple hashbased block generation algorithm:
Given most recent block B, its hash H(B), current unix timestamp t and target block time z (seconds), validator i generates a child block when:
H(B . t) % (z*V_e) == i
The more valid short pseudoPoW chain is simply the one with more blocks, or if equivalent, the one that was seen first by the node.
Intended effect of incentives:

No validator cabals under condition:
Due to the sigmoid scaling of a block reward in (a), existing validators happily include new validators, as long as profit from a higher interest rate is higher than loss due to fee sharing. That’s why the interest rate must be strictly monotonically increasing.
Finding the ideal scale factor k requires currently untestable assumptions about future proportion of voting coins and average fees during epoch.
With k = 3 sigmoid rises from 0.5 at 0 to 0.817 at 0.5  or equivalently 1% and 1.63% for 2% rate in the limit  which seems reasonable as an initial value. 
No stake grinding and similar concerns, as fees are distributed among all validators.

Strictly monotonically increasing interest rate creates hard to quantify positive social effects  as every staking newcomer is directly beneficial to all others. Constant interest rate  or even, worse, decreasing  makes every newcomer a loss, in addition to perverse incentives due to fees.
Possible problem:
Free riding by not generating individual blocks. It’s another consequence of the ‘profitmaximizing validators’ assumption which imo isn’t realistic. In any case, it’s a much milder outcome than possible PoW hijacking.