Pres: can should must can could would might must
(theoretical) -------------------------------------------------------------------------------------- may could might
(factual) --------------------------------------------------------------------------------------
Past: could have should have _________ could may have must have --------------------------------------------------------------------------------------
Past
Unfulfilled: could have _________ _________ (could have) might have --------------------------------------------------------------------------------------
Pres: can should will* could may shall* might would should --------------------------------------------------------------------------------------
Past: could ________ would have ________ --------------------------------------------------------------------------------------
Past
Unfulfilled: could have should have (would have) could have should have --------------------------------------------------------------------------------------
*Traditionaly, will was reserved for promises, while shall was used for any other
expression of future willingness; however this distinction has nearly disappeared
from the language, with will becoming the popular form for all expressions of
future.