1049 命题逻辑(java)— 离散数学应用(详解)

该博客讨论了如何在离散数学中应用命题逻辑,通过分析和算法设计,解释了如何判断给定的辅助符号表达式是重言式、矛盾式还是其他。通过样例数据,展示了如何处理逻辑判断,尤其是当涉及多个变量时的情况,最终得出结论并优化代码实现。
摘要由CSDN通过智能技术生成
问题描述
  在命题逻辑中,每个变元可以取值为真或假,通过逻辑运算符连接得到逻辑表达式,逻辑表达式的值由逻辑变元的值计算得出。
  以下是常用的逻辑运算符。
  ~:表示否定,~P为真当且仅当P为假。
  >:蕴含,P>Q为真当且仅当Q为真或者P为假。
  ^:合取,P^Q为真当且仅当P和Q同为真。
  v:析取,PvQ为真当且仅当P和Q中至少一个为真。

  重言式是指无论变元如何取值其结果都为真的表达式,矛盾式是指无论变元如何取值其结果都为假的表达式。

  在表式逻辑表达式的时候,可以使用辅助符号来方便描述,一个辅助符号可能是另外两个变元或辅助符号运算的结果。
  为了使用辅助符号来表示否定运算,我们设置一个虚拟的辅助符号X0,使用X0和另一个变元运算P运算后即得到~P的结果。

  给定一系列辅助符号的定义,问最后一个辅助符号是重言式、矛盾式还是其他表达式。


输入格式
  输入数据第一行是两个整数n、m(1<=n<=4,1<=m<=10)。表示在输入中出现的变元不超过n个、辅助符号为m个,变元依次为P0, P1, ..., Pn-1,辅助符号依次为A0, A1, ..., Am-1。
  从第二行开始,依次描述A0,A1,…Am-1,并严格依照以下格式:
  Ai L ? R
  其中Ai依次为A0, A1, ..., Am-1。?可以为“~”、“>”、“^”、“v”。L和R可以是变元或者之前出现过的辅助符号。
  若?为“~”,则L必
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值