Isabelle 命题逻辑有证明者吗

Isabelle 命题逻辑有证明者吗,isabelle,Isabelle,我尝试使用axiomatization命令以语法方式实现LTL逻辑,目的是自动找到定理的证明(证明程序属性的动机) 然而,自动校准仪(如cvc4、z3、e等)都使用某种量词。例如,使用FOL-one可以证明F(p)-->G(p),这显然是错误的 我的问题是,是否存在一个证明者,就像前面提到的那些证明者一样,但它是为命题逻辑而设计的,即,它只能访问MP和命题逻辑公理 我是伊莎贝尔的新手,所以可能有一个更简单的方法来做这件事 编辑:我正在寻找一个希尔伯特式的演绎证明,而不是SAT,因为这将解决在公理

我尝试使用axiomatization命令以语法方式实现LTL逻辑,目的是自动找到定理的证明(证明程序属性的动机)

然而,自动校准仪(如cvc4、z3、e等)都使用某种量词。例如,使用FOL-one可以证明F(p)-->G(p),这显然是错误的

我的问题是,是否存在一个证明者,就像前面提到的那些证明者一样,但它是为命题逻辑而设计的,即,它只能访问MP和命题逻辑公理

我是伊莎贝尔的新手,所以可能有一个更简单的方法来做这件事


编辑:我正在寻找一个希尔伯特式的演绎证明,而不是SAT,因为这将解决在公理上实现它的问题

我认为
SAT
方法只使用命题逻辑

但是,我建议不要使用公理化,只使用数据类型定义LTL的语法,使用函数定义语义。也许您可以从中重用形式化


没有公理化,您就可以自由使用任何方法。

您需要的是SAT解算器,例如

然而,自动校准仪(如cvc4、z3、e等)都使用某种量词。例如,使用FOL-one可以证明F(p)-->G(p),这显然是错误的


这是不对的。任何一阶定理证明者,如iProver、E、Vampire,都不会为所有X.f(X)=>g(X)证明

我想我自己解释错了,F和G是特定于LTL的,F意味着p最终会发生,而G总是p。我的问题是Sat解算器的工作是基于满意度的,这正是我在LTL中试图避免的,并且基于希尔伯特类型的演绎。我想知道是否有一个自动证明器,它可以根据我提供的公理创建类似希尔伯特的推论。我目前正试图避免语义方法,因为你需要在其中包含状态和赋值词,这使得它很难自动证明。我的问题是,是否有一个证明器可以根据我提供的公理创建希尔伯特类型的演绎。Sat只能让我对某个状态感到满意,这意味着我必须对状态进行编码,所以我觉得公理化将提供一个有趣的简化量。你可以遵循语义方法,仍然保持状态和谓词的抽象性。如果下面的证明可以从你的公理中导出
F(p)-->G(p)
,我想你的公理是不正确的。否则,如果你的公理是正确的,我不明白为什么你不能使用更强大的东西,比如大锤、爆破或metis。也许你可以分享你的公理和一些你想证明的LTL属性?公理如下(A0)G◦ 对于每一个重言式◦ ϕ) → ν(A2)(X k)⇔ (§Xа)(A3)X(а)→ ψ) ⇒ (十)→ Xψ)(A4)G◦(ϕ → ψ) ⇒ (G)◦ ϕ → G◦ ψ) (A5)G◦ ϕ → G◦ Xа(A6)(а⇒ Xа)→ (ϕ → G◦ ψ)(A7)ψUψ⇔ ψ ∨ (ϕ ∧ X(ψUψ))(A8)ψUψ⇒ F◦ ψ,使用isabelle,你可以证明fp等于gp,你能在上面共享打印屏幕吗?如果它可能的话,我可以展示它。在你的公理化中,
G
bool=>bool
类型的函数。然而,在LTL中还有一个隐式参数,它是计算公式的跟踪。我认为
G
应该有一个类似
(trace=>bool)=>trace=>bool
的类型。当然,写下来有点乏味。。。