(get-assignment) コマンドは、シンボルのリストと、ブール型の場合はその true/false 値を返す必要があります。私の理解では、これは :produce-assignments が true に設定されていて、(check-sat) が sat を返す場合にのみ実行できます。ただし、Z3 でこれをテストするために小さなスクリプトを実行すると、(get-assignment) は () - 空白を返すだけです。これが私のスクリプトです:
(set-option :produce-assignments true)
(set-logic QF_UF)
(declare-fun a () Bool)
(declare-fun b () Bool)
(assert (= a b ))
(check-sat)
(get-assignment)