Formal sys-Pradicate semantic

2024-03-26 12:49
文章标签 sys semantic formal pradicate

本文主要是介绍Formal sys-Pradicate semantic,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍个定义

Interpretation
已知有 是一阶谓词逻辑(PL1)的Signatur
那么我们定义这个Signatur的interpretation 为(D,I),并且具有以下性质:
1.D是任意的非空的集合
2.I是Signatur符号的映射:
1).对任意常数c有:I(c) D
2).n>=1,对于有n个参数的函数符号f有:I(f): DnD
3).对于任意不含有参数的谓词符号 P有:I(P) {T,F}
4).n>=1,对于任意的含有n个参数的谓词符号p存在对应的一个n阶关系I(p) Dn
断言(Variablenbelegung) β
β :Var D.
已知有x Var d D,那么使x取d值的断言为:

βdx(y){dβ(y)falls y=xfalls yx

//已知x取d值,那么关于变量y的断言是:如果x=y,那么结果就是d,而如果x不等于y,那么关于y的断言还是未知,用 β(y) 表示

评价Formel(Auswertungsfunktion):

已知(D,I)是 的Interpretation, β 是关于D的断言。那么我们定义一个评价函数 ValD,I,β ,并且他满足以下属性:
valD,I,β(t)D tTerm
valD,I,β(A) {T,F} 当A For
valD,I,β(x)=β(x)xVar
valD,I,β(f(t1,...,tn))=(I(f))(valD,I,β(t1),...,valD,I,β(tn))
1.
valD,I,β(1)=T
valD,I,β(0)=F

valD,I,β(st):={TFvalD,I,β(s)=valD,I,β(t)

valD,I,β(P):=I(P) 其中P不包含参数的谓词符号
valD,I,β(p(t1,...,tn)):={TF(valD,I,β(t1),...,valD,I,β(tn))I(p)

//有点问号???
2. valD,I,β(X)X { ¬A,AB,AB,AB,AB }的情况和表达逻辑的相同
3.
valD,I,β(xA):={TFdDvalD,I,βdx(A)=T

4.
valD,I,β(xA):={TFdDvalD,I,βdx(A)=T

等价定理
已知有 是一个Interpretation, β,γ 是两个变量断言(Variablenbelegung),那么就有:
1.已知 β(x)=γ(x) 其中 xVar(t),tTerm ,可以推出: val,β(t)=val,γ(t)
2.已知针对Formel A有 β(x)=γ(x) 其中x Frei(A) ,那么可以推出 val,β(A)=val,β(A)
3.如果 AFor 是封闭的,那么就有 val,β(A)=val,γ(A)

算数结构(Arithmetic structure)

Signatur arith= {0,1,*,+,<}
在这里要认识两种结构,一种是普通的数学整数结构,在这里就跳了,另一种是Java的整数结构(就是有溢出的那种)他表示如下:
Jint=(,,+,<)
Jint:= [int_MIN,int_MAX]=[ 232,2321 ]
n+m:=int_MIN+(int_HALFRANGE+(n+m))%int_RANGE
n*m:=int_MIN+(int_HALFRANGE+(n*m))%int_RANGE
其中:int_HALFRANGE= 231 int_RANGE= 232

int_MAX+1=int_MIN
int_MIN+(-1)=int_MAX
比较 Jint

Formelxy(x<y)xy((x+1)y)=xy+y)x(0<xx+1<0)yesyesnonoyesyes

Term的替换原则(Substitutionslemma)

已知 是一个Signatur, 是对 的一个Interpretation, β,β 是两个断言, σ 是一个替换,那么就有:
val,β(σ(t))=val,β(t)
其中对于所有的变量x Var 有:
β(x)=val,β(σ(x))
//也就是说 β(x)=β(σ(x))
证明:略//呵呵呵呵呵呵呵呵呵呵呵????
//另外上述原则同时适用于不含冲突的替换证明同略???

Hoare 赋值规则

Hoare是一个三元式,分别为前置条件、操作、后置条件,其赋值规则表达如下:
{{x/s}A} x:=s {A}
可以这么理解,如果前置条件为真,那么进行赋值操作(就是替换了,把x替换为s),那么得到的相应的结果也为真。
由上述规则可以推出:
已知 是一个Signatur, 是针对 的一个Interpretation, β 是一个断言, σ 是一个无冲突的替换其中对于所有的不等于x的变量y满足 σ(y)=y 。那么就有:
val,β(xAσ(A))=W
val,β(σ(A)xA)=W
证明看不懂

Model

以下有关仅用于不含有自由变量的Formel。
我们说针对一个 的Interpretation是一个关于不含有自由变量的Formel A的Model,当 val(A)=T .
对Formel集合的Model的定义与此类似:要求集合中的每一个Formel B都满足 val=T .

推出

已知有: MFor,AFor 并且两者都不含有自由变量,那么有:
MA: M中的每一个Model,同时也是A的Model :M { ¬A }没有Model
我们就说由M可以推出M或者A跟随M(Aus M folgt A)
一些简化表达:
代替
A 代替 A
BA 代替{B} A

普遍成立

AFor 是:
普遍成立的(allgemeingültig)当且仅当 A
可实现的(erfüllbar)当且仅当 ¬A 不是普遍成立的
1.下面的说法是等价的:
1).A 是普遍成立的
2).A的每一个Interpretation都是Model
3).对于所有的 val(A)=T
2.下面说法也是等价的:
1).A是可实现的
2).存在 满足 val(A)=W
一些普遍成立的Formel
$$
1.\lnot \forall xA \leftrightarrow \exists x \lnot A \
2.\lnot \exists xA \leftrightarrow \forall x \lnot A \
3.\forall x \forall y A \leftrightarrow \forall y \forall x A \
4.\exists x \exists y A \leftrightarrow \exists y \exists x A \
5.\forall x(A \land B) \leftrightarrow \forall A \land \forall B \
6.\exists x(A \lor B) \leftrightarrow \exists x A \lor \exists x B \

$$

这篇关于Formal sys-Pradicate semantic的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848565

相关文章

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

Oracle - ORA-28009: connection as SYS should be as SYSDBA OR SYSOPER

一、原因     sys 用户是超级管理员,所以在登录的时候需要额外指定其角色 二、方案     1、在 PL/SQL 中,在登录界面,将 连接为 的选项 SYSDBA 选中          2、在 SQLPlus 中,通过 as sysdba 子句指定 -- 方式一[oracle@xl ~]$ sqlplus sys/登录密码 as sysdba-- 方式二[o

Segmentation简记-Multi-stream CNN based Video Semantic Segmentation for Automated Driving

创新点 1.RFCN & MSFCN 总结 网络结构如图所示。输入视频得到图像分割结果。 简单粗暴

Segmentation简记5-AuxNet: Auxiliary tasks enhanced Semantic Segmentation for Automated Driving

创新点 1.分割网络为主任务,深度估计网络为辅任务 2.loss的设计 总结如图所示 网络结构如图所示 其实很容易理解。 backbone是基于ResNet50 分割网络是基于FCN8 深度估计网络与分割网络类似,最后一层是回归深度层。 最有意思的是两种任务的loss的合并。 分割的loss很常见:cross entropy 深度loss:mean absolute error 算法一:

DS简记1-Real-time Joint Object Detection and Semantic Segmentation Network for Automated Driving

创新点 1.更小的网络,更多的类别,更复杂的实验 2. 一体化 总结 终于看到一篇检测跟踪一体化的文章 网络结构如下: ResNet10是共享的Encoder,yolov2 是检测的Deconder,FCN8 是分割的Deconder。 其实很简单,论文作者也指出:Our work is closest to the recent MultiNet. We differ by focus

Linux驱动基础 | sys文件系统

前言思考sys文件系统简介 sys文件系统是什么sys文件系统功能描述sysfs与objectsysfs接口使用 sysfs读写操作例子sysfs常用的接口sysfs常用的结构体代码实验总结 前言 上篇介绍了Linux驱动中procfs接口的创建,今天介绍sysfs接口的创建,本篇内核采用5.10版本 思考 看本篇内容之前思考两个问题: 既然有了proc目录文件系统,为啥还要sy

Python常用函数:获取当前项目路径【abs_path=pathlib.Path(__file__).absolute()】-->【sys.path.append(str(abs_path))】

当我们导入某个模块文件时, Python 解释器去哪里找这个文件呢?只有找到这个文件才能读取、装载运行该模块文件。 它一般按照如下路径寻找模块文件(按照顺序寻找,找到即停不继续往下寻找): 内置模块当前目录程序的主目录pythonpath 目录(如果已经设置了pythonpath 环境变量)标准链接库目录第三方库目录(site-packages 目录).pth 文件的内容(如果存在的话)sys.

间接系统调用syscall(SYS_gettid)

在linux下每一个进程都一个进程id,类型pid_t,可以由getpid()获取。POSIX线程也有线程id,类型pthread_t,可以由pthread_self()获取,线程id由线程库维护。但是各个进程独立,所以会有不同进程中线程号相同节的情况。那么这样就会存在一个问题,我的进程p1中的线程pt1要与进程p2中的线程pt2通信怎么办,进程id不可以,线程id又可能重复,所以这里会有一个真实

python中sys模块的用法大全

sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sys模块获得脚本的参数 复制代码代码如下: print "script name is", sys.argv[0]        # 使用sys.argv[0]采集脚本

python下sys/os/subprocess/configparser模块用法

1、os常用命令 import os# 操作系统类型,只有两个nt和posix;nt表示windows内核系统,posix表示linux/unix内核系统print(os.name)#获取详细的系统信息;只能在linux系统下使用# print(os.uname())# 获取系统中的环境变量print(os.environ)#获取指定环境变量的值print(os.environ.ge