"You were silly not to lock your car" means that the person didn't lock his/her car but should have done so. "You were silly not to have locked your car" means nothing.
![]()
The following is one of China's provinces' college entrance examination question:
You were silly not _____ your car.
A. to lock B. to have locked C. locking D. having locked
(The given answer is B.)
I would think A is the correct answer and simpler and there's no need to say 'to have locked' since the tense 'were' indicates the action 'lock' happened in the past. Am I right?
Could I ask native English speakers to help me please? Thank you in advance.
"You were silly not to lock your car" means that the person didn't lock his/her car but should have done so. "You were silly not to have locked your car" means nothing.
![]()
The person was not 'silly' for not locking his car - he was silly for what is implied and foreseen as the consequences of this action for the future: he's leaving his car vulnerable to theft. The tense that links an action in the past to the present and future in terms of its effects is present perfect tense.