2012-02-06 24 views
1

讓我解釋一下我的問題用一個例子:我可以在Z3中指定解決方案或搜索空間嗎?

想,我有可能的離散整數域,例如,-1,0,2,3,5和6 現在,我在尋找一個解決方案(或模型)爲變量x,將滿足以下約束:

(X> 0)& &(X < 6)& &(X = 3)& &(X> 2)

的答案將是(來自解決方案領域)= 5,對嗎?

我該如何在Z3中做到這一點?

也就是說,我想用離散實體定義解空間,然後聲明幾個約束並要求Z3檢查滿足性。如果可以滿足,那麼就需要這個模型。

任何人都可以幫助我的例子嗎?

謝謝 --Ishtiaque

回答

2

他斷言x == -1 || x == 0 || x == 2 || x == 3 || x == 5 || x == 6作爲公理事先應該這樣做。我不知道Z3是否內置了更好的方法。

編輯: 另一種解決方案可能是使用一個數組,雖然我以前沒有使用它們。從概念上講它應該是可能的聲明包含數字的陣列A,然後說:

(存在(Y智力)(=(選擇一個Y)X))`

不知道這是確切的語法,因爲我以前沒有使用數組,但希望它能工作。

相關問題