この例の後に(ここでは:z3py)、私はc
を次のように比較できます。 Color.green
。z3pyデータ型/列挙型を文字列と比較する
c
を比較する必要が自分のアプリケーションで
Color = Datatype('Color')
Color.declare('red')
Color.declare('green')
Color.declare('blue')
Color = Color.create()
# Let c be a constant of sort Color
c = Const('c', Color)
# Then, c must be red, green or blue
prove(Or(c == Color.green,
c == Color.blue,
c == Color.red))
:アプローチは、例えば作品
c = Const('c', Color)
solve(c == "green") # this doesn't work, but it works with Color.green
: 私はこのような何かをしたいと思いますIntSort
(下記参照)では、私自身のデータ型ではありません。
i = Int("i")
solve(i < 10)
私は値の名前のグローバルなマッピングを作成することを考えましたが(あなたの "簡略"に似ています)、私はある方法が "公式"になることを望んでいました。 このような何かを妥当な努力で実装することは可能でしょうか? – stklik
下記の私の(潜在的な)解決策を見てください。実行するPythonテストが見つかりませんでしたので、まだプルリクエストを作成したくありません。 @ニコライ・ビョルナー – stklik