5 can't be doing sth表示什么时候在做某事

我对下面句子中的 can't be telling 的用法不太理解:

If he said that, he can’t be telling the truth.

我的疑问是:为什么不用 can't have been telling 呢?前面的 said 不是表明这是在谈论过去情况吗?


请先 登录 后评论

最佳答案 2017-11-29 09:39

If he said that, he can’t be telling the truth.

这个句子来自于有道词典的例句。我认为这个句子有错误。

1 从逻辑分析,say that和 not tell the truth的指的是同一件事,在时间上是一致的。When he said that, he was not telling the truth. 后者用进行体,是强调not tell the truth贯穿said that的始终。

2 从语法角度分析,if从句用动词的过去时有两种可能,第一,真实条件句假设可能的过去事实,此时主句用陈述语气。第二,虚拟条件句表示与现在事实相反或将来不大可能实现的条件,此时主句就应该为虚拟语气。

1)我们先假设这个句子是陈述语气,这时说话人关心的是过去,主语是否是在说真话也是说话人对过去事件的断言或推测。这个断言或推测都是从过去的立场出发的,因此主句谓语应该是过去时。我们可以得到二个句子;

If he said that, he was not telling the truth.(=he was lying)主句表示说话人的论断。译文:如果他这么说,他就没说真话。(有可能他确实这么说了,那他就在撒谎。)

If he said that, he couldn't be telling the truth.(=he would be lying) 主句表示从过去立场做推测。译文:如果他这么说,他不可能说的是真话。(有可能他确实这么说了,那也不可能是真话。)

以上二个句子,主句都不宜用现在时。

2)我们再假设这个句子是虚拟语气,说话人了解主语,认为主语不可能说这种话,然后做一个与事实相反的假设,再从这个假设的基础上做一个推测。

If he said/should say/were to say that, he couldn't be telling the truth.(=he would be lying.)译文:要是他这么说,他不可能是在说真话。(实际上他不可能这么说,因此他说的都是真话。)

我们发现虚拟条件句表示与现在或将来事实相反的假设,如果从句用的是动词的过去式,则主句和从句的谓语形式与陈述语气表示过去的真实条件的谓语形式是相同的。仅仅从谓语形式是无法判断句子是陈述语气还是虚拟语气,只能通过上下文逻辑进行判断。

虚拟条件句的主句都是在与事实相反的假设的基础上的推测,因此主句必须包含情态动词的过去形式,不可能用情态动词的现在时。

通过以上分析可以看出,无论if he said that是真实条件还是虚拟条件,主句都不应该用can的现在形式,而应改为could.

因此,正确的句子应该为:If he said that, he couldn't be telling the truth.

3 很多语法书讲到,情态动词的推测性用法,表示说话人在说话时进行的推测,情态动词的现在形式和过去形式都表示现在时间,只不过过去形式的情态动词表示的推测的可能性小于现在形式情态动词表示的推测。至于是对当前、将来还是过去的情形进行推测,是由情态动词后的不定式来表示的。例如:He may/might be sleeping. 都是推测当前的情形。He may/might have left. 都是推测过去的情形。这种说法毫无疑问是正确的,而且绝大多数情况下,情态动词的推测用法就是这么用的。但还有一种情况,说话人推测的时候不是站在现在的立场,而是站在过去的立场进行推测,说话人在讲述的过程中脑子里完全想的是过去,没有和现在做任何联系。例如下面的情景:

I needed to have a talk with him. I went to the classroom but he wasn't there. It was 12. He might have left for lunch or he might be busy with something else. 

以上情境中的might have left和might be busy都是might的推测性用法。但这个推测是站在过去的立场进行的推测。这时是不可以用may的只能用might。这说明对过去的情形进行推测,不是只有may have done这一种形式,might do(静态动词)/might be doing(动态动词)同样可以表示对过去的情形进行推测。用哪种形式取决于说话人站在现在的立场还是过去的立场进行推测。语法书对前者介绍较多,对后者则有所忽略,导致英语学习者误解,以为只有一种推测形式。

以下是COCA语料库类似的从过去的立场进行推测的例句:

We had to be alert. And when we were getting ready to leave the moon, Houston said, " Apollo 11, you're cleared for liftoff. " And I said, " Roger, we're number one on the runway. " Although it's a phrase used over and over, there was no one else up there, and there wasn't a runway up there either. Still, we had no temptation to be flip. We could n't be telling jokes. When we returned from the moon, we saw the reaction of the people. 

 She was just sitting there in the television room, relaxing and flipping the channels, when he walked in and shattered her world. At first she thought she'd misunderstood him, that her mind was playing tricks on her. She couldn't possibly be hearing him right. He could n't be telling her he had the AIDS virus. Not now. Not the month after their wedding. Not now that they'd finally begun their life together as husband and wife. And not now -- please, God, not now! -- that she was pregnant with the baby they'd talked about having for so long. It had to be a mistake. Some cruel hoax. But one look at Magic's face and Earleatha (Cookie) Johnson knew it was true.

4 网友认为主句应该改为he can't have been telling the truth. 但是这样改动后不定式的进行体表示从过去到现在一直持续的动作(可能刚结束,可能没结束)。但实际上said that说完就结束了,并没有持续的到现在。因此这种形式是不恰当的。下面的句子才是正确的:他不可能从昨天一直等到现在。He can't have been waiting since yesterday. 

5 倪老师认为he can't be telling the truth不一定指“此刻”可以指当时,并以What are you doing?这个问句的回答:I am reading.为例,说明I am reading=I was reading. 我认为这种解释有些牵强。固然现在进行时的动作在说话的此刻不一定正在进行,但在说话的此刻一定还没有结束,如果结束了就不能再用现在进行时。说话人在回答I am reading的时候虽然没有在看书,但看书肯定还没有结束。进行体使用的关键是“会结束而尚未结束”。而我们讨论的句子中he said that显然已经结束了。can't be telling这种结构can为现在形式,不定式用进行体,只能表示现在动作还没有结束,不能表示过去。

6 刘老师认为从句是虚拟语气,主句是陈述语气,有两点解释不通。第一,主句是基于与事实相反的假设基础上的推测,这种推测的情态动词必须是过去形式,即主句必须是虚拟语气。第二,即使主句可以用陈述语气,那么主句说的就是事实,即主语he不可能在说真话,也即主语he此刻正在撒谎。这样,句子的逻辑就有问题了。

综上所述,我认为网友给出的句子(有道词典的例句)存在语法错误,难以给出合理的解释。正确的句子应该是:If he said that, he couldn't be telling the truth.

请先 登录 后评论

其它 3 个回答

倪肖丁  
擅长:惯用法问题

提点个人己见供参考:

1. can't后用完成进行体是正常的,例如:He can’t have been using a filter. You can’t have been listening to what I was saying.(English Grammar-A University Course) 。可参阅UGE(3.55)

2. If he said that, he can’t have been telling the truth 是对的,与If he said that, he can’t be telling the truth相比只是时间概念上显得“久远”,用于“眼下之事”不宜。

3. 原句If he said that, he can’t be telling the truth 并无虚拟之意。不宜将can't be doing看作是绝对“此刻”之行为。这与不能把现在进行体看作绝对是“此刻”行为相类似。如:What are you doing? I am reading. 此刻你明明是在回答对方的问题,但还是说 I am reading。由此可见,此处的I am reading实际具有I was reading之意,但回答肯定用I am reading。


请先 登录 后评论
刘永科   - 教育出版集团英语总顾问 & 英语系列图书主编
擅长:语法理论,语言学,文化背景

If he said that, he can’t be telling the truth.

【翻译】如果他那样说,他(此时)就说不出真话了。

我对这句话的理解是:

说话人对“他”是比较信任的。

If 从句是一个虚拟条件句,表明说话人不相信他会那样说。这是对现在包括将来的一种假设,真正意思是“他现在或将来都不可能那样说”。

主句是陈述语气(真实句),意思是“他此时此刻就不可能说真话了”。说的简单一些就是:条件句和主句使用了不同的语气!这个句子,不是“错综时间条件句”(即:主、从句都使用虚拟语气,只是各自的时间不同),而是“混合条件句”(即:条件句使用虚拟语气,主句使用陈述语气。)。

有一个问题需要说明:网友认为在can't 后用完成进行体。其实,现实语言中没有这种用法,也不需要。

在表推测的can't 后面,可以接3种形式:

can't do (对现在或将来的完全否定推测)

can't be doing (对眼下此时此刻的完全否定推测)

can't have done(对过去的完全否定推测)


请先 登录 后评论
陈才   - 英语教师
擅长:中考英语,词法问题

同义词刘老师解答观点

请先 登录 后评论
  • 3 关注
  • 3 收藏,18441 浏览
  • 邹德浩   提出于 2017-11-26 20:53

相似问题