4 Matching Annotations
  1. May 2025
    1. 公理

      使用公理:通过公理和逻辑推理来定义语义。

      • 公理:公理是一些基本的、不可证明的假设,它们被认为是自明的真理。在公理语义学中,公理用于描述程序的基本行为和性质。
      • 逻辑推理:逻辑推理是从公理出发,通过逻辑规则推导出新的结论。在公理语义学中,逻辑推理用于证明程序的正确性和性质。

      假设我们有一个简单的程序:

      x = x + 1

      我们想用公理语义学来定义这个语句的语义。

      公理: * 赋值公理:赋值语句 x = e 的语义是:在执行后,变量 x 的值等于表达式 e 的值。 * 加法公理:加法表达式 a + b 的语义是:结果等于 a 和 b 的和。 逻辑推理: * 从公理出发,我们可以推导出:

      执行 x = x + 1 后,变量 x 的值等于 x 的原值加 1。

    2. 公理语义学,如:谓词变换语义学、代数语义学。

      公理语义学(Axiomatic Semantics)

      • 谓词变换语义学:使用谓词逻辑来描述程序状态的变化。
      • 代数语义学:使用代数方法来定义程序的行为。
    3. 操作语义学,例如抽象机(象SECD抽象机),着重于描述语言的过程;

      操作语义学(Operational Semantics)

      • 关注过程:着重于描述语言的执行过程。
      • 抽象机:例如 SECD 抽象机,用来模拟语言的执行过程。
    4. 指称语义学,着重于语言的执行结果而非过程,包括域理论;

      指称语义学(Denotational Semantics)

      • 关注结果:着重于语言的执行结果,而不是执行过程。
      • 域理论:使用域理论来描述计算结果。