SMTlib2 形式でソートを使用すると問題が発生します。たとえば、次のように Interval を定義します。
(declare-sort Pair 2)
(define-sort Interval () (Pair Int Int))
関数から新しい間隔を返すにはどうすればよいですか? 例えば:
(define-fun getInterval ((a Int) (b Int)) Interval
(Interval a b))
これはうまくいきません。私の質問は、特定の種類のオブジェクトを作成してインスタンス化するにはどうすればよいですか? また、それらのフィールドにアクセスするにはどうすればよいですか?
現在、フィールド ゲッターとして作成した 2 つの UF を使用していますが、コンストラクターの作成方法はまだわかりません。
(declare-fun L (Interval) Int)
(declare-fun H (Interval) Int)
ありがとう、ヌーノ