
形式语义
3A是个坏同志
SG-Studio负责人
展开
-
关系代数、SQL与逻辑式语言
“SQL其实是一种功能被极限阉割的逻辑式语言”我说这个话有很多人不懂,单纯会SQL的其实还好,但是上了数据库课程,学了“关系代数”之后,再面对这个问题就直接迷惑了。甚至一些原先还很懂逻辑和函数式语言的人,上完了数据库就像被洗了脑一样。最近在一些事情的逼迫下,我好好思考了一下这个问题,终于明白了“关系代数”能把那么多人洗脑的原因。首先我们要明确一点,“关系”也就是一阶逻辑中的“谓词”(如果你...原创 2020-04-30 02:15:15 · 1098 阅读 · 0 评论 -
究竟什么是副作用
对于副作用的定义,各个语言的标准文档各有不同。如 C++定义一条语句有无可能产生副作用的条件是“是否修改对象,使用库 IO 操作,调用函数”。然而无论哪个语言的副作用定 义,“对外部环境的修改”都是其中必不可少的一条。然而许多人并没有理解这条定义,私自扩展“外部环境”的外延,甚至认为“向屏幕输出”都会必然地产生副作用。下面对于“副 作用”的概念,我将从两方面进行说明。“输出到屏幕”的归原创 2017-03-12 15:46:55 · 2482 阅读 · 0 评论 -
关于SMT问题的讨论
SAT问题作为世界上第一个被证明的NP完全问题,在先前的博文中已经介绍过。虽然许多形式验证问题都可以归结为SAT问题,但由于SAT问题只以命题逻辑公式为处理对象而没有量词,制约了其描述能力和抽象层次,同时也限制了SAT问题的应用。例如在RTL电路中,由于SAT求解器的抽象层次较低,用位级信息描述问题将丢失大量的逻辑,同时增加问题的规模和复杂性,导致结果不准确并且增加求解的空间与时间开销。而SMT问...原创 2018-09-07 21:08:22 · 2362 阅读 · 0 评论