小编Qui*_*hud的帖子

Mathematica If-then vs.Implies

我是Mathematica(v8)的新手,并且正在使用它来编写命题逻辑.

我想知道运营商IfImplies运营商之间的区别.例如,
If[p,q]Implies[p,q]返回qp=True(如预期).

但是当我尝试获得满意度时,我得到以下结果:

SatisfiabilityInstances[If[p, q], {p, q}]
(*
  {{True, True}}
*)  
Run Code Online (Sandbox Code Playgroud)

除非我要求更多实例:

SatisfiabilityInstances[If[p, q], {p, q}, All]
Run Code Online (Sandbox Code Playgroud)

SatisfiabilityInstances :: boolv:"如果[p,q]不是布尔值{False,True}.

然而:

SatisfiabilityInstances[Implies[p, q], {p, q}, All]   
Run Code Online (Sandbox Code Playgroud)

返回预期的:

(* {{True, True}, {False, True}, {False, False}} *)
Run Code Online (Sandbox Code Playgroud)

造成这种差异的原因是什么?

boolean-logic if-statement wolfram-mathematica

7
推荐指数
1
解决办法
1353
查看次数

在Prolog中定义条件材料

我一直试图适应Prolog和Horn条款,但从形式逻辑的过渡仍然感到尴尬和被迫.我知道以标准形式提供所有东西都有好处,但是:

在Prolog中定义材料条件运算符的最佳方法是什么-->,在OR 和OR A --> B时成功?也就是说,是不言的时候是没有的.A = trueB = trueB = falseif->thenfailiffalseelse

真相表

另外,Horn条款的非显而易见的优点究竟什么?

logic prolog

7
推荐指数
1
解决办法
309
查看次数

用DL语法编写本体?

我刚刚发现了OWL和Pr​​otege.通过阅读这个参考页面(我在下面引用),我想知道是否可以使用抽象的OWL语法,而是用DL语法编写.我的背景是逻辑上的,所以听起来它会更有趣,即使我以后必须翻译本体(虽然我确信必须有应用程序才能做到这一点 - 此外,不要让reasoners使用DL吗?).

如果可能,我应该在Protege(或您建议的其他软件)中使用哪些设置配置才能执行此操作?我怀疑这是不可能的,但我想确定,因为除了特殊符号的尴尬之外我没有其他正当理由.

编辑:如果不可能,DL语言究竟是如何使用的?

OWL DL是描述逻辑SHOIN,支持数据值,数据类型和数据类型属性,即SHOIN(D),但由于OWL基于RDF(S),因此术语略有不同....对于OWL本体或知识库的描述,可以使用DL语法.有一个类似LISP的"抽象"语法定义,更容易用ASCII字符集编写.

猫头鹰

这是相同数据的两种语法样式的一个非常简短的工作示例.

logic owl ontology protege description-logic

6
推荐指数
1
解决办法
1309
查看次数