Если вы поместите текст этой программы в файл (скажем, a.datalog
), вы можете напрямую вызвать z3 для него.(Обратите внимание, что расширение должно быть datalog
).
Когда я это делаю, я получаю:
$ z3 a.datalog
Tuples in Gt:
(x=a(0),y=b(1))
(x=b(1),y=c(2))
(x=c(2),y=d(3))
(x=a1(4),y=b(1))
(x=b(1),y=a1(4))
(x=d(3),y=d1(5))
(x=d1(5),y=d(3))
(x=a(0),y=c(2))
(x=a(0),y=a1(4))
(x=b(1),y=d(3))
(x=c(2),y=d1(5))
(x=a1(4),y=c(2))
(x=a1(4),y=a1(4))
(x=b(1),y=b(1))
(x=d(3),y=d(3))
(x=d1(5),y=d1(5))
(x=a(0),y=d(3))
(x=a1(4),y=d(3))
(x=b(1),y=d1(5))
(x=a(0),y=d1(5))
(x=a1(4),y=d1(5))
Tuples in R:
(x=a(0))
(x=b(1))
(x=c(2))
(x=a1(4))
(x=d(3))
(x=d1(5))
Tuples in S:
(x=a(0))
(x=a1(4))
Time: 3ms
Parsing: 0ms, other: 1ms
Это то, что вы пытаетесь сделать?