任务描述
本关任务:了解一阶逻辑相关知识并完成习题。
相关知识
为了完成本关任务,你需要掌握:1. 一般的表示语言;2. 一阶逻辑的语法和语义;3. 一阶逻辑的简单应用。
一般的表示语言
程序设计语言(如C++、Java或Python)是目前为止常用的形式语言中最大的一类。
命题逻辑是一种描述性语言,它有充分的表达能力,可以采用析取式或否定式来处理不完全信息。自然语言更多的认为它是交流的媒介而不是单纯的表示。
一阶逻辑语言 是围绕对象和关系建立起来的,还可以表达关于全域中某些或全部对象的事实。
命题逻辑与一阶逻辑之间最根本的区别在于每种语言所给出的本体论约定 —— 即关于现实本质的假设不同。
一阶逻辑的语法和语义
常量符号: Hunan,University,…
谓词符号:Brother,>,…
函数涵词:Sqrt,LeftLegOf,…
变量:x,y,a,b,…
连接符:∧,∨,﹁,…
量词:∀,∃
项:对象的逻辑表达式
e.g. Leftleg(john)
原子语句:对象的项+谓词
e.g. Brother(KingJohn,RichardTheLionheart), Married (father(richard),mother(john))
复合语句由原子语句用逻辑连接词连接而成
一阶逻辑中的真值:
一个句子是真的是指它是相对于一个模型和一个解释为真
一个模型包括一些对象和对象之间的关系
常数符号对应于对象
谓词符号对应于对象之间的关系
函数符号对应于函数关系
一个带谓词的原子语句是真当且仅当该原子语句中的所有对象满足该谓词关系
一阶逻辑的简单应用
一阶逻辑的断言与查询(TEll,ASK)
亲属关系论域
数、集合和表
开始你的任务吧,祝你成功!