Confusion about forward price

Hello everyone,

We know that the forward price for an underlying asset which has benefit and cost of holding it can be calculated as:

F0(T) = [S<sub>0</sub> + PV<sub>0</sub>(cost) - PV<sub>0</sub>(benefit)](1 + Rf)T

However, we can also create a synthetic asset by buying a risk-free discount bond that returns F0(T) and taking a long position in a forward contract. Therefore, due to no-arbitrage condition and because there is no cost of entering a forward contract, we can calculate forward price as:

F0(T)/(1+Rf)T = S0 <=> F0(T) = S0(1+Rf)T

So we have 2 different ways of calculating forward price which leads to PV0(cost) = PV0(benefit) or that there is an arbitrage opportunity.

Can anyone please help me explain this? Thank you.

Your second formula assumes no cost of holding the asset and no benefit of holding the asset.

Why is that? Is it implied in any points of a replication process?