对过去发生的事情作出与事实相反的推论,条件句用had + -ed,主句用should/ could /would have + -ed.
should/ could /would have + -ed可以表示“本来可以.,但是不是那样发生的,与事实相反;或者:“应该/可能已经...”,表示推测,不一定与事实不符.
所谓动词原形或者不定式,其实也有多种形式:do (不能用did,does); have done (不能用had,has);be done (被动); be doing进行(当然不能用am ,is are,was ,were); have been doing (完成进行)