【发布时间】:2014-08-01 18:50:28
【问题描述】:
我正在使用 java API 生成代码,但我想向用户展示 SMT2 格式的代码,有什么方法可以从 java API 获取它?
可以说我想要一些这样的生成代码...
(forall ((task Task)) (not (mustPrecede task task)))
(forall ((t1 Task) (t2 Task) (t3 Task))
(=> (and (mustPrecede t1 t2) (mustPrecede t2 t3)) (mustPrecede t1 t3)))
可以解析成这样的东西
(declare-fun TaskUser (Task User) Bool)
(declare-fun mustPrecede (Task Task) Bool)
(assert(forall((t Task)) (not (mustPrecede t t))))
(assert(forall((t1 Task)(t2 Task)(t3 Task)) (implies (and (mustPrecede t1 t2) (mustPrecede t2 t3)) (mustPrecede t1 t3))))
(assert(forall((t Task)(u User)) (TaskUser t u)))
【问题讨论】: