gpt4 book ai didi

if-statement - Mathematica If-then 与 Implies

转载 作者:行者123 更新时间:2023-12-04 11:55:46 25 4
gpt4 key购买 nike

我是 Mathematica(v8) 的新手,正在使用它来编程命题逻辑。

我想知道 If 之间有什么区别和 Implies运营商。例如,
两者 If[p,q]Implies[p,q]返回 qp=True (正如预期的那样)。

但是当我尝试获取 SatisfiabilityInstances 时,我得到以下信息:

SatisfiabilityInstances[If[p, q], {p, q}]
(*
{{True, True}}
*)

除非我要求更多实例:
SatisfiabilityInstances[If[p, q], {p, q}, All]

SatisfiabilityInstances::boolv: "If[p,q] is not Boolean valued at {False,True}.



然而:
SatisfiabilityInstances[Implies[p, q], {p, q}, All]   

返回预期的:
(* {{True, True}, {False, True}, {False, False}} *)

是什么导致了这种输出差异?

最佳答案

是这么说的--If不是 bool 值,即它不仅返回 true 或 false。试试 If[False,True]你不会看到任何结果。 If[a,b,c,d]可以返回任何 b、c 和 d,不仅是 bool 值,例如 If[True,2]返回 2。所以,If用于分支(甚至是功能性的),而 Implies是一个普通的 bool 函数。

附言啊,Implies也可以返回2 .所以区别在于If[False,True]什么都不返回,所以 SatisfiabilityInstances函数找不到真正的区域。

P.P.S.更准确地说,如果 If[] 的第一个参数是 False然后它返回它的第三个参数。当它不存在时,它什么都不返回。

关于if-statement - Mathematica If-then 与 Implies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com