首页 > 解决方案 > Pie中构造函数的不相交性

问题描述

是否有可能证明 Pie 中构造函数的不相交性?

例如,是否有 type 的术语(Pi ((n Nat)) (-> (= Nat (add1 n) 0)) Absurd))

标签: dependent-type

解决方案


在 Freenodemietek上回答:##dependent

(claim disjoint-Nat (Pi ((n Nat)) (-> (= Nat (add1 n) 0) Absurd)))
(define disjoint-Nat
  (lambda (n prf)
    (replace
      prf
      (lambda (n) (iter-Nat n Absurd (lambda (_) Trivial)))
      sole)))

推荐阅读