Logic 在类型系统中有实践规则归纳的文件吗?

Logic 在类型系统中有实践规则归纳的文件吗?,logic,proof,type-systems,computation-theory,induction,Logic,Proof,Type Systems,Computation Theory,Induction,如您所知,要定义新类型系统,一种方法是我们需要: 语言语法 打字规则 然后我们需要证明一些定理,我们相信它是可以用上面的类型规则证明的。为了证明这些定理,一种方法是我们可以使用归纳法(规则归纳法) 例如,我们有这样一个系统: nat n ::= 0 | S n n nat _____ Zero _______ Succ 0 nat S n nat 我们定义了两条规则“零”和“成功”,如下所示: nat n ::= 0 | S

如您所知,要定义新类型系统,一种方法是我们需要:

  • 语言语法
  • 打字规则
  • 然后我们需要证明一些定理,我们相信它是可以用上面的类型规则证明的。为了证明这些定理,一种方法是我们可以使用归纳法(规则归纳法)

    例如,我们有这样一个系统:

    nat n ::= 0 | S n
    
                    n nat 
    _____ Zero     _______ Succ  
    0 nat          S n nat 
    
    我们定义了两条规则“零”和“成功”,如下所示:

    nat n ::= 0 | S n
    
                    n nat 
    _____ Zero     _______ Succ  
    0 nat          S n nat 
    
    然后,我们提出一个定理,我们相信这个定理是正确的,我们需要证明它

    If n nat, then S S n nat.
    
    我们可以用定义的规则很容易地证明这个定理。这被称为规则归纳


    那么,有人知道可以帮助实践规则归纳的来源吗?

    你可以通过使用结构归纳来证明这一点,但考虑到你不必在归纳步骤中使用归纳假设,这是非常不必要的

    要显示
    n nat->S S n nat
    ,只需假设
    n nat
    并显示
    S S n nat
    ,可按如下方式执行:

     _____ (By assumption)
     n nat
     _______ Succ
     S n nat
    _________ Succ
    S S n nat
    

    不知道你所说的规则归纳法是什么意思。我在规则归纳法上所发现的一切都与机器学习有关。