在java中,我有一组相互连接的对象。让我们假设它们在一起是一些模型,让我们这样称呼它。
我想根据一些规范(定义为一组条件)验证该模型。条件可能是这样的:
forall child in parent.children
child.name startswith "A"
可以有很多这样的条件,并且必须满足所有这些条件才能说模型符合规范。所有的条件都是一些由变量和逻辑表达式组成的谓词,我想处理的是 SAT 问题的一个实例。
我不关心该解决方案的复杂性,我只想使用 Prolog 来执行查找适当的变量替换(如果存在,则意味着模型符合规范)。
我正在寻找一种如何轻松创建 Prolog 知识库的方法,该知识库将由代表创建我的模型的对象的语句组成。
你有什么值得推荐的吗?或者,也许您可以建议一些其他方法来解决该问题?