从变换公式证明算法正确性和终止性的正确方法

时间:2019-01-07 20:00:19

标签: isabelle

我想证明将任何一阶逻辑公式转换为其求反范式(NNF)的函数/算法的正确性和终止性。 但是,我什至不知道如何开始。有人可以帮我吗?

我尝试使用软件包FOL,但是后来我意识到我无法同时导入Main以使用“ fun”命令。然后我从Main开始,并使用blast证明了一些等效规则。

现在,我需要创建一个函数,将一阶公式转换为其否定范式。我从这里开始:

乐趣toNNF ::“ prop ==> prop”其中...

,但这似乎无法正常工作(Isabelle给了我消息:“类型统一错误”)。这里有灯吗?

1 个答案:

答案 0 :(得分:0)

在开始定义将一阶公式转换为NNF的函数之前,您可能实际上想定义一个数据类型,该数据类型定义了一阶公式的类型,并且需要先定义正确性证明公式的等价概念以及在NNF中的谓词。

希望这会有所帮助, 雷内(René)