could versus be able
Let me start by saying what is written in grammar books on this issue and after that I will put my question. (Take heed that this usage of "could" ONLY refers to the past and ONLY to affirmative sentences)
1) "Could" shouldn't be used to address a single action/achievement in the past but it can be used to address a general ability in the past.
The examples are from M. Swan's grammar.
a) When I was younger, I could run 10 km in under 40 minutes. (CORRECT) b) I could run 10 km in under 1 hour yesterday. (WRONG)
It's all been clear so far. But here are a few answers of native speakers which I have got trying to elaborate.
Examples and opinions of native speakers on which is correct/incorrect. *1) First native speaker's examples* "I could visit you yesterday" - (incorrect) "I could do it yesterday" - (correct) "I could see you yesterday" - (correct)
My thoughts I don't quite understand why "I could visit" is incorrect while "I could do/see" is correct. Does it have to do something with single/multiple action?
That is,
"I could visit you (only ONE TIME) yesterday" if (only ONE TIME) then it's (incorrect) "I could do it (MANY TIMES) yesterday" if (MANY TIMES) then it's (correct) "I could see you (MANY TIMES) yesterday" if (MANY TIMES) then it's (correct)
2) 1) Second native speaker's examples
"I could visit you yesterday, but I didn't want to" - (correct) "I could kill everyone at work last week, but I couldn't have done it." - (correct)
My thoughts
I am confused as for why in this case "I could visit you yesterday" is considered acceptable. Does it mean that: "I could visit you yesterday" may have more than one meaning? Does it mean that "I could run 10 km yesterday" can also mean something and be correct?
Plus one more question. What does it mean? Does it refer to the future or the past
You could ask me before calling him. (WHEN? yesterday or in general?)
Solution 1:
Your sentence has problem, and I believe it is wrong:
- I could visit you yesterday, but I didn't want to.
Because you need a perfect here:
- I could have visited you yesterday, but I didn’t want to so I didn’t.
That way it is more clearly addressing an event in the past, just as this is:
- I was able to visit you yesterday, but I didn’t want to so I didn’t.
As for your second question, in this sentence, it is clearly a non-past situation:
- You could ask me before calling him.
It’s like saying:
- You would ask me for his number [. . . if you wanted to call him].
- I could do that for you [. . . if you asked me to].
Solution 2:
The use of could in terms of "I could run 10km in under 40minutes" refers to a general state that holds for some time, rather than a temporary one, and generally implies that the possibility was indeed exercised some of the time.
As a child, I could visit my grandmother whenever I wanted, as she lived only two doors away.
We would assume that not only was it possible for the author to have done so as a child, but they did.
In contrast, could have refers to a possibility that didn't happen.
I could have visited my grandmother when I was in my home-town, yesterday.
We'd assume that the author did not make such a visit.
*I could visit you yesterday.
Suggests that over the course of yesterday, you could visit the addressee, and indeed this did come to pass several times. That's not the likely intended meaning, and nor is the direct meaning likely enough for us to take it as meaning that; it's so strange as to read as an outright grammar error.