楼主的语法感觉还行,但是有些乱了.如果梳理的更加清晰会更好.
首先要清楚must can should may might 等等情态动词后面动词一定要用原型态,也就是说must无论是做“猜测”还是“必须”的意思.must have 是对的,但是must had是错的~知道你想表示过去的完成动作,所以联想到“had done” 但是语法就是语法,规规矩矩.
“那时他一定在家”你的表达完全正确.也就是说从现在开始你要清楚,只要是表达过去完成动作的肯定猜测 就用"must have done" 不要去想"must had"从语法结构看,后面这个用法本身就是错的,根本没有的”