0

There is number of examples in SyGuS format (https://sygus.org/language/) in cvc5 repo, e.g. https://github.com/cvc5/cvc5/tree/main/test/regress/cli/regress0/sygus. How do I read these files or corresponding strings into cvc5 Python script?

I know about Python API (https://cvc5.github.io/docs/cvc5-1.0.2/api/python/python.html), which allows to define a SyGuS problem programmatically, but I would like to use SyGuS format directly. I can't find anything about it in the documentation.


Here is an example of problem definition in SyGuS format:

(set-logic LIA)

(synth-fun max2 ((x Int) (y Int)) Int
    
    ((I Int) (B Bool))

    ((I Int (x y 0 1
             (+ I I) (- I I)
             (ite B I I)))
     (B Bool ((and B B) (or B B) (not B)
              (= I I) (<= I I) (>= I I))))
)

(declare-var x Int)
(declare-var y Int)

(constraint (>= (max2 x y) x))
(constraint (>= (max2 x y) y))
(constraint (or (= x (max2 x y)) (= y (max2 x y))))

(check-synth)
Paul Jurczak
  • 7,008
  • 3
  • 47
  • 72

0 Answers0