If we had bought that book, he ........ it by now.
De zin bestaat uit twee delen: een hoofdzin en een bijzin die met 'if' begint.
Een bijzin die met 'if' begint, geeft een voorwaarde aan.
Je gebruikt hier 'would' omdat de bijzin in de voltooid verleden tijd staat (had bought) en het zeker is dat hij het boek had uitgelezen als ze het boek hadden gekocht.
should have read = zou gelezen moeten hebben (mening)
could have read = zou gelezen kunnen hebben (mogelijkheid)
will have read = zal gelezen hebben (geen verleden tijd)
Zie ook de pagina
hulpwerkwoord.