你的错误在于没有认识到现在完成时表示的事件是发生在过去的,只不过说话人关心的是现在而已。所以当你用虚拟语气时,现在完成时就要改为would have done表示与过去事实相反。从句和主句的谓语动词表示的都是过去的事件。
用陈述语气表示事实:
Because the government and scientists have worked together, AIDS-related deaths have fallen since their highest in 2005. 合作和下降都是说话时间(现在)之前的事实。
用虚拟语气表示与事实相反的假设:
If the government and scientists had not worked together, AIDS-related deaths would not have fallen since their highest in 2005.