类型论函数式语义学:迭代、解释器与可达性谓词
1. 迭代与定理 1
在函数式编程和类型论的研究中,我们常常会遇到递归调用的问题。为了处理递归调用,我们可以采用一种替代方法,即使用绑定变量 f 所表示的函数来替代递归调用。
函数 F 描述了执行函数在每次迭代时所进行的计算。执行函数在重复执行 F 函数足够多次时,会执行与 F 函数相同的计算。这一关系可以通过以下定理来表达:
定理 1 (eval com ind to rec)
[
\forall c: \text{Command}. \forall \sigma_1, \sigma_2: \text{State}. \langle c, \sigma_1 \rangle \rightsquigarrow \sigma_2 \Rightarrow \exists k: \mathbb{N}. \forall g: \text{Command} \to \text{State} \to \text{State}. (F_k g c \sigma_1) = \sigma_2
]
这里使用了以下符号:
[
F_k = (\text{iter} (\text{Command} \to \text{State} \to \text{State}) F k) = \lambda g. (F (F \cdots (F \underbrace{}_{k \text{ times}} g) \cdots ))
] <
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



