私はZ3で働く新しい人です。
セットと2つの異なるセットの最大値を計算する方法を知りたいです。
例:
[1, 6, 5]
-大きい方は
[1, 6, 5]
6e-[10, 7, 2]
大きい方は6
次のコードを使用して設定します。
(declare-sort Set 0)
(declare-fun contains (Set Int) bool)
( declare-const set Set )
( declare-const distinct_set Set )
( declare-const A Int )
( declare-const B Int )
( declare-const C Int )
( assert ( = A 0 ) )
( assert ( = B 1 ) )
( assert ( = C 2 ) )
( assert ( distinct A C) )
( assert ( distinct set distinct_set ) )
(assert
(forall ((x Int))
(= (contains set x) (or (= x A) (= x C)))))
そして、セット(set)の最大値とセット(setおよびdistinct_set)の最大値を計算する方法を知りたいと思います。
それがすべての整数に当てはまるのは、それが簡単だったからです。
(define-fun max ((x Int) (y Int)) Int
(ite (< x y) y x))
しかし、私はそれらの整数によるセットを残すことはできません、すなわち、セットされた値を取得します。
手伝って頂けますか?
ありがとう