问题标签 [propositional-calculus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
106 浏览

prolog - Prolog中如何判断两个命题公式是否等价?

我是 Prolog 的新手,有一些疑问。

我需要编写一个函数 form_equiv(A,B) 来告诉我们 B 是否等价于 A ,其中 A 和 B 应该是命题。

我知道两个命题是等价的,如果

重言式 (A iff B) = TRUE

但是我怎么能创建一个函数来检查公式何时是重言式。

顺便说一句,我不能只使用 AND、OR 和 NOT 的内置函数。

现在这是我到目前为止所拥有的:

我在 Haskell 中做过一个类似的程序,但我对 Prolog 真的很陌生。

谁能帮我写一个函数来检查一个公式是否是重言式?

提前致谢...

0 投票
0 回答
17 浏览

python - 命题公式拆分方法?-真值表生成器(py)

我一直在从事这个项目,并在获取公式的各个部分以进行单独评估的过程中遇到了麻烦。

例如:(~p>~q)^(~(p^q))

我应该得到:

  1. (~p)
  2. (~q)
  3. (~p>~q)
  4. (p^q)
  5. (~(p^q))
  6. (~p>~q)^(~(p^q))

我设法得到了最基本的,如 1、2、3 和 4,但从那里我还没有设法得到 5 和 6。

这个网站确切地显示了我想怎么做:真值表生成器