「命题逻辑公式计算java」命题逻辑运算符

博主:adminadmin 2022-12-02 02:11:07 93

今天给各位分享命题逻辑公式计算java的知识,其中也会对命题逻辑运算符进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 编程的公式什么怎么计算的?

先从最基本的开始吧。比如说java的变量,有几种类型,每个类型有什么功能和不同,他们分别占多少字节。哦,你可能会问什么是字节,字节就是计算机用来表示存储空间大小的基本单本。一个字节到底有多大,能存多少信息呢?一个字节占8位,这个位就是我们常见的个位、十位、百位的位。不过,计算机只认0,1.所以每位上的数字要么是1要么是0.也就是二进制。(日常生活中用的是十进制)8位就是0000 0000 ——1111 1111.如果用它表示无符号的整数,范围是:0到255.好多东西要自己去学。不要放弃!

命题逻辑和一阶逻辑

称为一个推理( sequent ),如果使用Natural Deduction的方式进行推导( derivation ),可以由 得到 ,那么这个推理是有效的。

定义:

对于合理的推理 ,能否在真值表的语义下,保证当 为T时, 不可能是F。

若 中,当全 部成立时, 也成立,则称 语义蕴含 。

soundness:若 是合理的,则$$

completeness:若 ,则是 合理的

证明:太长不看

实际是想说:一个逻辑系统需要满足soundness和completeness的一致性。

signature:三个部分

分别是函数名、常数名、谓词名

一般省略 ,因为其可看作无参数的

一阶逻辑的公式中,两类:

一阶逻辑的语义:

proof-based logic:给出一个operative的,通过Natural Deduction方式的 证明

优点:一旦找到一个证明方式成功推导,即可证明

缺点:难以证明 ,需要遍历全部可能的证明方式,才能够得到结论

semantic-based logic:通过真值表验证 的正确性

优点:更容易证明 ,只要找到一个左侧为T的assignment,而右侧为F即可

缺点:想要证明 更困难,需要遍历全部的真值组合。

一阶逻辑evaluate的难点:每一个变量都是一个可能的具体值的占位符

对 ,每个x, 都为真,则最终取值为真

对 ,找到一个x0, 为真,则最终取值为真

如果 的结构为 等(解析树根节点),那么最终的真值可以按照各谓词公式的真假,遵循命题逻辑中的连接词运算进行求解

问题进一步转为求解 的真值。对此需要明确谓词常量的含义和term的含义。

的模型 :

例, ,R是二元谓词,F是一元谓词, 包含:

环境:将变量映射到具体值的look-up table

对于在l环境下的满足性定义:

给出模型解释的时候,需要使用扩展签名,否则将会出现bug:

用解释的方式定义:

函数常量alma,

在解释空间中取值替换变量y(例如a),替换变量:

,此时出现问题, 没有定义,因为Interpretation的domain必须是 的子集。

于是扩展 为 ,此处的*是abc实际值的名字,

并且,原有定义下 为真,当且仅当对所有的 , 为真

改为:

当且仅当对所有的 , 为真

这一解释就没有问题了。

Logic in CS中的定义下,虽然未考虑 。对于模型的映射直接是

一个全局的具体取值A

其实是相同的,因为函数和谓词就是signature的组成部分。

检查任意性和存在性时,

变量:直接替换为A中的元素,相当于隐性定义了对于非signature中的元素,映射的结果是元素值自身。

在谓词逻辑中是重载的,对模型而言表示满足,对两个formula而言表示语义蕴含。

for all

一个模型满足一个公式组,当且仅当这一模型满足公式组中的每一个公式,如果这一公式组的每个模型都还满足另一个公式 ,那么这个公式组蕴含这一公式。

存在一个模型,使得 ,则 可满足

一阶逻辑无法表达传递闭包:

能否找到一个公式 ,公式中只包含两个自由变量u和v,一个谓词关系R,通过这个公式可以表达:

这样的R无法找到,这样的公式是无止尽的。

一阶逻辑公式的合理性是undecidable的:给定一个FOL公式 , 是否成立?

这个问题无法解答。

==》FOL的满足性问题也是undecidable的

证明: 是合理的 当且仅当 是不可满足的(可满足:存在一个interpretation I,

java计算简单的数学公式.

public class Demo2 {

public static void main(String[] args) {

double price = 100.0 ;//单价

int nums = 200;//数量

double total;//总价

total =   price*nums;// 计算总价

double profit ;//利润

double cost=12000;//成本

double tax=0.17;//税率

profit = (total-cost)*(1-tax); //计算利润

System.out.println("利润:"+profit+"元");//输出利润

}

}

运行测试

利润:6640.0元

用JAVA写一个程序,实现:命题公式的真值判定

这个有点麻烦了。。。

大体上应该是 先提取出 各个命题(原命题)

然后绘制出 他的真值表

最后根据真值表判断是否真假

人的话 还可能用到啥啥啥公式。。不过电脑不懂 你还要预先输入公式 更麻烦

所以 真值表 最好了

关于命题逻辑公式计算java和命题逻辑运算符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-02,除非注明,否则均为首码项目网原创文章,转载请注明出处。