Is there some way to plain "uninterpreted functions" (UIF) inside Horn queries?
I think you're using UIFs to represent the "Horn variables", so perhaps I thought I could fake what I want with arrays. However, the following doesn't work:
(set-logic HORN)
(declare-fun k1 (Int) Bool)
(declare-const foo (Array Int Int))
(assert (forall ((v Int)) (=> (< 666 (select foo v)) (k1 v))))
(assert (forall ((v Int)) (=> (k1 v) (< 0 (select foo v)))))
(check-sat)
(get-model)
Is there some way to make the above work out? Thanks so much!