这个问题与这个问题几乎相同,但解决方案对我不起作用。抱歉,我想对该答案发表评论,而不是提出新问题,但我没有足够的声誉......
我正在为电梯建模一个简单的状态机。有两个楼层和两个按钮Up和Down。我已经将转换建模为谓词Action x Elevator x Elevator (Elevator = State),这样T(a,s,s')成立,如果动作a可能导致从s到s'的转换,其中一个动作是按向上或向下按钮。问题的可满足性不取决于按下按钮的人,但我希望 Z3 对功能主题分配一些解释: Action -> Person。
目标是找到状态机的k轨迹,这可能有助于理解电梯的行为。
我尝试了不同的选项组合,包括auto-config=false
and model-completion=true
,但没有成功。我还尝试强制完成模型,询问(subject Action0)的值,但 Z3 仍然没有为subject分配解释。
我的 Z3 版本是 4.3.1,在 Linux amd64 上运行。