Skip to content

程序语言理论笔记

Updated: at 15:06

Chpt 1. Set Theory

幂集, Power Set: 集合的所有子集构成的集合,记作

外延性公理, Axiom of Extensionality: 两个集合包含相同的元素则它们相等

构造公理:

偏序, Partial Order: 对于一个关系和一个集合,如果满足:

是一个偏序关系。

Chpt 2. Operational Semantics

IMP语言的操作语义

  1. 状态(State)
    • 状态是一个函数
    • 状态的集合表示为
    • 直观理解:状态指定了各个位置(变量)所持有的值
  2. 目标
    • 构建一个关系 ,使得 (c,σ)′ 表示在初始状态 σ 下执行命令 c,最终得到状态
  3. 算术表达式的配置(Configurations for Aexp)
    • 配置是一个对,其中
    • 目标:定义一个关系,表示在状态下,算术表达式被求值为整数.

IMP的命令语义

大步语义:如上,描述程序从初始状态到最终状态的转变,不关注中间过程;

小步语义:描述one-step的执行变化,比如执行了一次加法或赋值;

Chpt 3. Some Principles of Induction

数学归纳法:

良基归纳 Well-Founded Induction:

The relation is well-founded if:

即不允许无限下降链,所以不是良基的,因为可以出现无限下降链(全等于)。

结构归纳 Structural Induction:

  1. 基始步(Base Case) :证明性质对于基本结构(即最小或最简单的结构)成立。
  2. 归纳步(Inductive Step) :假设性质对某些子结构成立,然后证明性质对包含这些子结构的复合结构也成立。

Chpt 4. Inductive Definitions

Axiom Instances:

Non-axiom Rule Instances:

:推导在规则集下可以导出结论

Rule Induction:

就是若都满足也满足

Closedness:

Special Rule Induction: 证明一个谓词的一个子集上成立

证明过程例子:: a location (program variable)

证:

  1. 定义集合
  1. 定义谓词
  1. 验证条件:
  1. 利用闭合性:

Chpt 5. The Denotational Semantics of IMP

Equivalence over Commands:

从这个视角来看,commands都是一些偏函数,展示了从一些状态转移到另一些状态的过程。Denotational Semantics指称语义就是研究程序对应的数学对象,通过这些数学对象的性质研究程序的性质。

完备偏序集 Complete Partial Orders CPOs:

单调函数 Monotonic Functions:

With,a function is monotonic if

连续函数Continous Functions:

A function is continuous if

不动点Fixed Points:

An element is:

Suppose

Then

Knaster-Tarski不动点 Knaster-Tarski Fixed-Point Theorem:

Chpt 5. The Axiomatic Semantics of IMP

霍尔三元组 Hoare Triples:

是前条件,是命令,是后条件。

Assn定义一组逻辑断言,描述和验证程序的行为。状态满足一个断言记作,当且仅当中所有的替代之后仍然为真。就是把程序中的全部替换成

如果满足,能停止,则停止后一定满足


Previous Post
I-LLM: Efficient Integer-Only Inference for Fully-Quantized Low-Bit Large Language Models
Next Post
The Minimum Equivalent DNF Problem and Shortest Implicants