形式化演绎系统中的SK组合子研究
1. SK组合子基础
在形式化演绎系统中,SK组合子是重要的研究对象。组合子通过特定的数据类型进行定义,在Agda中定义如下:
data comb : Set where
S : comb
K : comb
app : comb → comb → comb
这里, S 和 K 是基本的组合子, app 用于组合两个组合子。例如,组合子 (S K) K 在Agda中表示为 app (app S K) K 。
我们还可以定义组合子表达式的大小计算操作:
size : comb → N
size S = 1
size K = 1
size (app a b) = suc (size a + size b)
2. SK组合子的操作语义
操作语义描述了组合子如何进行规约。在Agda中,通过以下数据类型定义操作语义:
data _;_ : comb → comb → Set where
;K : (a b : comb) →
(app (app K a) b) ; a
;S : (a b c : comb) →
(app (app (app S a) b) c) ;
超级会员免费看
订阅专栏 解锁全文
536

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



