Python建立数学推理引擎TLW(二)推理都有用到哪些逻辑

Python建立数学推理引擎TLW(二)推理都有用到哪些逻辑

逻辑关系表达式可以认为是型为: $左侧 逻辑符号 $右侧 = 返回值 的表达式。

其中左侧右侧的取值可能为: 真(True)假(False)

左右侧中间的逻辑符号为: 且(AND), 或(OR), 异或(XOR) 等等

这里暂时不讨论取反(NOT), 另外这些逻辑符号最少只要有两个就能构成完备的逻辑,可以组合形成别的逻辑。

常用逻辑

上面列举的三种: AND, OR, XOR是最常用的逻辑符号,但显然左侧右侧取值 所产生的所有真值表不会只有这三种连接符号。先思考AND, OR, NOT的本质含义,再看可能的逻辑操作符号都有那些(根据排列组合可以计算出来应该总共16个),然后根据字面含义对他们简单命名(各种逻辑书上的名字日常中基本很少见到,诸如: 同或, 与非, 或非等等)。

且的解释: 左右两侧都为真才为真,否则为假。
或的解释: 左右两侧全为假则为假,否则为真。
异或解释: 相同为真,相异为假。

与数学推理的关系

异或就是左右两侧要么全都成立,有一方不成立则为假。类似数学推理过程中的当且仅当

数学推理中最常用到的如果...那么表述的真值表如下:

左侧右侧返回值
TrueTrueTrue
TrueFalseFalse
FalseTrue?
FalseFalse?

可以看出, 左侧条件成立时,右侧推论也成立,整个逻辑表达式为真;左侧条件成立,右侧推论不成立时,整个逻辑表达式为假。当左侧条件不成立时,也就是如果...没有成立,后面的那么...逻辑取值就无关紧要了。

除了当且仅当, 如果那么还有其他的逻辑吗? 下面尝试穷举这种形式的逻辑下所有的真值组合。

所有可能的真值表

可以得知,左侧,右侧对于真、假一共可以有4种取值。从真假中任取4值(可以认为就是进行了某种逻辑操作),会产生的组合如下:

1 . 全真

左侧右侧返回值
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseTrue

2 . 有真即真(或)

左侧右侧返回值
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

3 . 同真异左

左侧右侧返回值
TrueTrueTrue
TrueFalseTrue
FalseTrueFalse
FalseFalseTrue

4 . 取左

左侧右侧返回值
TrueTrueTrue
TrueFalseTrue
FalseTrueFalse
FalseFalseFalse

5 . 同真异右

左侧右侧返回值
TrueTrueTrue
TrueFalseFalse
FalseTrueTrue
FalseFalseTrue

6 . 取右

左侧右侧返回值
TrueTrueTrue
TrueFalseFalse
FalseTrueTrue
FalseFalseFalse

7 . 同真异假(异或)

左侧右侧返回值
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseTrue

8 . 有假即假(且)

左侧右侧返回值
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

9 . 有假即真

左侧右侧返回值
TrueTrueFalse
TrueFalseTrue
FalseTrueTrue
FalseFalseTrue

10 . 同假异真

左侧右侧返回值
TrueTrueFalse
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

11 . 反右

左侧右侧返回值
TrueTrueFalse
TrueFalseTrue
FalseTrueFalse
FalseFalseTrue

12 . 同假异左

左侧右侧返回值
TrueTrueFalse
TrueFalseTrue
FalseTrueFalse
FalseFalseFalse

13 . 反左

左侧右侧返回值
TrueTrueFalse
TrueFalseFalse
FalseTrueTrue
FalseFalseTrue

14 . 同假异右

左侧右侧返回值
TrueTrueFalse
TrueFalseFalse
FalseTrueTrue
FalseFalseFalse

15 . 有真即假

左侧右侧返回值
TrueTrueFalse
TrueFalseFalse
FalseTrueFalse
FalseFalseTrue

16 . 全假

左侧右侧返回值
TrueTrueFalse
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

总结规律

总共16种可能,可大致分如下几类:

  • 和左侧,右侧取值无关的逻辑取值:
    • 全真
    • 全假
  • 只和左侧、右侧的单侧取值相关的逻辑取值:
    • 取左
    • 取右
    • 反左
    • 反右
  • 和左侧、右侧双侧取值相关的逻辑取值:
    • 有真即真(或)
    • 有真即假(且)
    • 有假即假
    • 有假即真
  • 只和左侧、右侧取值是否相同有关的逻辑取值:
    • 同真异假(异或)
    • 同假异真
  • 和左侧、右侧取值本身以及取值是否相同有关的逻辑取值:
    • 同真异左
    • 同真异右
    • 同假异左
    • 同假异右
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值