SemGuS-git / Semgus-Parser

Library and tool for parsing SemGuS specifications
MIT License
4 stars 1 forks source link

Allow multiple constraints in a CHC #69

Closed kjcjohnson closed 2 years ago

kjcjohnson commented 2 years ago

Fixes #68 by allowing multiple constraints in CHCs. Note that this is just syntactic sugar - the generated CHCs still have a single constraint, but:

kjcjohnson commented 2 years ago

Also fixes #70 in the same "syntactic sugar" spirit. We now allow arbitrary SMT terms in the inputs to semantic relations, and we internally transform those to a fresh variable and a constraint. For example,

($a (E.Sem x y (+ x y)))

gets transformed into a CHC with an extra variable q such that:

(q is not the real variable name. It's an auto-generated identifier.)