Prolog 中的逻辑探险:学习9组逻辑蕴涵公式

在这里插入图片描述

引言

上次写了16组等价公式定律,今天继续用Prolog写9组逻辑蕴涵公式。
感觉这些公式的名称与公式挺难一一对应来记忆的,只能多练习了.

1. 附加律 (Addition)

A ⇒ A∨B
当你拿到一个苹果(A),突然你知道,即使有了梨(B),你依然拥有苹果。这就是附加律的奇妙之处!如同魔术师,展示了这种简单却深刻的真理。

fun1(A,B,Z):-member(A,[false,true]),member(B,[false,true]),((A->(A;B);true)->Z=true;Z=false),format('A = ~w,B = ~w, Z = ~w~n',[A,B,Z]),fail.
2. 化简律 (Simplification)

(A∧B)⇒A
有了一篮子水果(A 和 B),但你只想要一个苹果(A)。化简律就像是从繁到简的艺术,巧妙地帮你从复杂中找到简单。

fun2(A,B,Z):-member(A,[false,true]),member(B,[false,true]),(((A,B)->A;true)->Z=true;Z=false),format('A = ~w,B = ~w, Z = ~w~n',[A,B,Z]),fail.
3. 假言推理 (Modus Ponens)

(A→B)∧A⇒B
如果吃苹果(A)能让你快乐(B),那么当你吃苹果时,快乐就会随之而来。就是这样一个快乐的制造者!

fun3(A,B,Z):-member(A,[false,true]),member(B,[false,true]),((((A->B;true),A)->B;true)->Z=true;Z=false),format('A = ~w,B = ~w, Z = ~w~n',[A,B,Z]),fail.
4. 拒取式 (Modus Tollens)

(A→B)∧¬B⇒¬A
如果苹果能带来快乐,但你不快乐,那么你可能没有吃苹果。这就是其聪明之处,通过否定的结果找到原因。

fun4(A,B,Z):-member(A,[false,true]),member(B,[false,true]),((((A->B;true),\+ B)-> \+ A;true)->Z=true;Z=false),format('A = ~w,B = ~w, Z = ~w~n',[A,B,Z]),fail.
5. 析取三段论 (Disjunctive Syllogism)

(A∨B)∧¬B⇒A
苹果或梨(A 或 B),如果不是梨,那肯定是苹果。就像是逻辑世界的侦探,排除不可能,找到答案。

fun5(A,B,Z):-member(A,[false,true]),member(B,[false,true]),((((A;B), \+ B ) -> A ; true)->Z=true;Z=false),format('A = ~w,B = ~w, Z=~w~n',[A,B,Z]),fail.
6. 假言三段论 (Hypothetical Syllogism)

(A→B)∧(B→C)⇒(A→C)
苹果带来快乐,快乐带来舞蹈,那么苹果就能带来舞蹈!展示了这一系列逻辑链条的美妙。

fun6(A,B,C,Z):-member(A,[false,true]),member(B,[false,true]),member(C,[false,true]),((((A->B;true),(B->C;true))->(A->C;true);true)->Z=true;Z=false),format('A = ~w,B = ~w,C = ~w, Z = ~w~n',[A,B,C,Z]),fail.
7. 等价三段论

(A↔B)∧(B↔C)⇒(A↔C)
如果苹果像梨,梨像桃子,那么苹果就像桃子。逻辑世界中的等价转换大师。

fun7(A,B,C,Z):-member(A,[false,true]),member(B,[false,true]),member(C,[false,true]),(((equal(A,B),equal(B,C)->equal(A,C));true)->Z=true;Z=false),format('A = ~w,B = ~w,C = ~w, Z = ~w~n',[A,B,C,Z]),fail.
8. 构造性二难 (Constructive Dilemma)

(A→B)∧(C→D)∧(A∨C)⇒(B∨D)
如果苹果能让你快乐,梨能让你舞蹈,那么苹果或梨都能给你快乐或舞蹈。你得到很多选项时,也同样要面对开心选择的烦恼。

fun8(A,B,C,D,Z):-member(A,[false,true]),member(B,[false,true]),member(C,[false,true]),member(D,[false,true]),(((contain(A,B),contain(C,D),(A;C)->(B;D));true)->Z=true;Z=false),format('A = ~w,B = ~w,C = ~w,D = ~w,Z = ~w~n',[A,B,C,D,Z]),fail.
9. 破坏性二难 (Destructive Dilemma)

(A→B)∧(C→D)∧(¬B∨¬D)⇒(¬A∨¬C)
如果苹果不再快乐,梨不再跳舞,那么失去苹果或梨都将失去快乐或舞蹈。 揭示了逻辑中的另一个面,有时也需面对失去的选择障碍。

fun9(A,B,C,D,Z):-member(A,[false,true]),member(B,[false,true]),member(C,[false,true]),member(D,[false,true]),(((contain(A,B),contain(C,D),(\+B;\+D)->(\+A;\+C));true)->Z=true;Z=false),format('A = ~w,B = ~w,C = ~w,D = ~w,Z = ~w~n',[A,B,C,D,Z]),fail.
结语

希望通过这些生动的比喻和 Prolog 代码,让我们记住逻辑蕴涵推理的魅力。其实,逻辑不仅是理性的,还挺有乐趣和需要充分想象力的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制商业文案助手

随着智能助手的不断普及和发展,商业文案的创作也变得更加智能化和定制化。在这个信息爆炸的时代,商业文案的撰写已经不再是简单的文字表达,而是需要结合大数据分析和人工智能技术,以更好地满足目标客群的需求。在本文中,我们将介绍如何利用向量数据库Milvus Cloud搭建GPT大…

Nosql的redis概述及基本操作

关系数据库与非关系型数据库概述 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型…

tokenizers Tokenizer 类

Tokenizer 类 依赖安装 pip install tensorflow pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple基类原型 tokenizers.Tokenizer(model)基类说明 Tokenizer 函数构造一个分词器对象。分词方式主要有word-level、subword-level、char-level三种&#x…

软件测试/人工智能丨人工智能取代软件测试团队

在数字时代,人工智能(AI)和软件测试如同两位不同领域的英雄,各自拥有独特的技能和力量。然而,当这两者碰撞在一起时,究竟会擦出怎样的火花呢?让我们进入这场奇妙的对决,探索AI如何改…

MFC项目添加CUDA支持

文章目录 前言一、开启项目CUDA支持二、链接CUDA库三、链接cu文件 前言 我目前的项目状况是: 拥有一个MFC项目;拥有现成的 .cuh文件 和 .cu文件。 我想做的是:将.cuh和.cu文件放到我的项目中,并且编译成功跑起来 一、开启项目C…

Halcon (0):C# 联合Halcon方式简介和就业市场说明

文章目录 文章专栏视频资源前言相关视频联合C#开发直接导出C#代码Halcon引擎调用开发函数封装库工程导出 总结就业市场 文章专栏 Halcon开发 视频资源 机器视觉之C#联合Halcon 前言 根据我的测试,我发现Halcon和WPF中的halcon插件,代码具有对应性。就是…

Unity - 实现模型动态伸长缩短,贴图不变形(材质球参数篇)

思路为修改模型材质球的Tiling参数&#xff0c;根据与自身localScale的值得到合适的比例&#xff0c;再修改Tiling值 var mat target.transform.GetComponent<Renderer>().material; var oriValue mat.mainTextureScale;//沿着Y轴伸缩 oriValue.y 1 * target.transfo…

HCIP-二、MSTP+Eth-trunk

二、MSTPEth-trunk 实验拓扑实验需求及解法 实验拓扑 实验需求及解法 //1.如图所示&#xff0c;配置设备名称和 IP 地址。 //2.在 SW1 与 SW2 之间配置链路聚合协议 LACP&#xff0c;完成以下需求&#xff1a; //2.1 SW1 作为主动端&#xff0c;设置系统优先级为最高。 [SW1]l…

报错!Jupyter notebook 500 : Internal Server Error

Jupyter notebook 报错 500 : Internal Server Error 问题背景 tensorflow-gpu环境&#xff0c;为跑特定代码专门开了一个环境&#xff0c;使用conda安装了Jupyter notebook&#xff0c;能够在浏览器打开Jupyter notebook&#xff0c;但是notebook打开ipynb会报错。 问题分析…

Android——Gradle插件项目根目录settings.gradle和build.gradle

一、settings.gradle结构分析 项目根目录下的settings.gradle配置文件示例&#xff1a; pluginManagement {/*** The pluginManagement.repositories block configures the* repositories Gradle uses to search or download the Gradle plugins and* their transitive depen…

【excel技巧】单元格内的公式如何隐藏?

Excel文件中最重要的除了数据还有就是一些公式了&#xff0c;但是只要点击单元格&#xff0c;公式就能显示出来&#xff0c;如果不想别人看到公式应该如何设置呢&#xff1f;今天分享隐藏excel单元格数据的方法。 选中单元格&#xff0c;点击右键打开【设置单元格格式】&#x…

电脑显示找不到mfc140.dll怎么办?哪个修复方法值得推荐

在电脑使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;例如"mfc140.dll文件缺失"这个问题可能会导致某些应用程序无法正常运行&#xff0c;可能给您带来困扰。本篇文章为您提供了六种有效解决此类问题的策略&#xff0c;使您能够迅速修复并恢复应用程…

一篇文章带你了解Python常用自动化测试框架 —— Pytest

在之前的文章里我们已经学习了Python自带测试框架UnitTest&#xff0c;但是UnitTest具有一定的局限性 这篇文章里我们来学习第三方框架Pytest&#xff0c;它在保留了UnitTest框架语法的基础上有着更多的优化处理 下面我们将从以下角度来介绍Pytest&#xff1a; Pytest基本介绍…

mac系统安装docker desktop

Docker的基本概念 Docker 包括三个基本概念: 镜像&#xff08;Image&#xff09;&#xff1a;相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。比如说nginx,mysql,redis等软件可以做成一个镜像。容器&#…

什么是高防CDN?有什么优势?

德迅高防CDN技术概述 随着互联网的快速发展&#xff0c;网络安全问题越来越受到人们的关注。高防CDN(Content Delivery Network)作为一种有效的网络安全防御手段&#xff0c;在企业和个人网站中得到了广泛应用。本文将详细介绍高防CDN的技术原理、防御原理、优点和应用场景&am…

如何验证命令执行漏洞(无回显)

如何验证命令执行漏洞&#xff08;无回显&#xff09; 使用yakit&#xff0c;选择dnslog模块 点击生成一个可用域名 以dvwa为例 命令执行ping一下刚才的域名 随后yakit中会出现回显信息&#xff0c;以此证明拥有命令执行漏洞 信息&#xff0c;以此证明拥有命令执行漏洞

【Java】乡镇卫生院、社区卫生服务中心云HIS源码

云HIS采用云端SaaS服务的方式提供&#xff0c;用户通过浏览器即能访问&#xff0c;无需关注系统的部署、维护、升级等问题&#xff0c;系统充分考虑了模板化、配置化、智能化、扩展化等设计方法&#xff0c;覆盖了基层医院机构的主要工作流程&#xff0c;能够与监管系统有序对接…

TensorFlow实战教程(十八)-Keras搭建卷积神经网络及CNN原理详解

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章详细讲解了Keras实现分类学习,以MNIST数字图片为例进行讲解。本篇文章详细讲解了卷积神经网络CNN原理,并通过Keras编写CNN实现了MNIST分类学习案例。基础性文章,希望对您有所帮助! 一…

vite vue3配置axios

准备 参考 安装axios yarn add axios中文官网 src下新建request文件夹&#xff0c;该文件下新建index.ts import axios from axios; import { ElMessage } from element-plus;// const errorCodeType function (code: number): string { // let errMessage: string 未知…

一阶低通滤波器(一阶巴特沃斯滤波器)

连续传递函数G(s) 离散传递函数G(z) 转换为差分方程形式 一阶巴特沃斯滤波器Filter Designer参数设计&#xff1a;参考之前的博客Matlab的Filter Designer工具设计二阶低通滤波器 设计采样频率100Hz&#xff0c;截止频率20Hz。 注意&#xff1a;设计参数使用在离散系统中&…