We can use ‘could have’ to talk about something somebody was capable of doing but didn’t do.
* I could have gone to Trinity University but I preferred UCD.
* She could have hit him but she didn’t want to.
* They could have bought a house here in Dublin 20 years ago but chose not to.
Often, there is a sense of criticism.
* You could have phoned me to let me know you would not be attending the course.
* They could have helped me instead of just standing there.
* I could have done more to help you. Sorry.
We can use ‘couldn’t have’ to talk about something we were not capable of doing.
* I couldn’t have managed to learn this without you.
* I couldn’t have got the job. He was always going to appoint his son.
* I couldn’t have enjoyed myself more. Thank you for a lovely day.
We can use ‘could have’ to speculate about what has happened. (We can also use ‘may have’ or ‘might have’ in these situations.)
* She could have taken the earlier train to Dublin.
* Mandy could have told her.
* They could have overheard what we said.
We can also use ‘can have’ to speculate about what has happened but only in questions and negative sentences and with words such as ‘hardly’, ‘never’ and ‘only’.
* Can she have forgotten about our meeting?
* He can’t have seen us.
* They can hardly have thought that I was not interested in the job.
We can also use ‘could have’ to speculate about something that didn’t happen.
* You could have broken your neck, jumping out the window like that.
* He could have hurt somebody, throwing a chair out of the window like that.
* I could have done well in my exam if I’d worked harder.
You can also use ‘could have’ to talk about possible present situations that have not happened.
* I could have been earning a lot as an accountant but the work was just too boring.
* He could have been Prime Minister now but he got involved in a big financial scandal.
* They could have been the market leaders now if they had taken his advice.