目录
原命题 ▹
前置知识 ▹
命题的表述 ▹
命题的证明 ▹
免责声明:本文仅仅是展示如何在类型论 (Agda) 中证明原题所引用的命题, 而不构成对原题的回答, 毕竟, 原题可能是在集合论背景下的问题.
集合论里, 严格来讲只有演绎, 没有归纳, 因为归纳是公理的结果, 是需要先证明的. 但是类型论里, 消去规则就是归纳, 是内生的, 不需要被证明的.
原命题
5.11 Proposition Let X be a nonempty set and α ∈ X. For each n ∈ ℕ×,let Vₙ:Xⁿ → X be a function. Then there is a unique function f:ℕ → X with the following properties:
(i) f(0)=α.
(ii) f(n+1)=Vₙ₊₁(f(0),f(1),. . .,f(n)),n ∈ ℕ.
前置知识
我们知道什么是空类型⊥, 自然数类型 ℕ, 积类型 _×_ 以及相等类型 _≡_. 直接从标准库中导入这些内容.
{-# OPTIONS --safe #-}
open import Data.Empty
open import Data.Nat hiding (_^_)
open import duct
open import Relation.positionalEquality
open ≡-Reasoning
定义 给定集合 X 以及自然数 n,我们递归定义 Xⁿ 如下
X¹=X
Ⅹⁿ⁺²=Xⁿ⁺¹ × X
也就是说,Ⅹⁿ⁺¹=Xⁿ × X.∎
_^_ : (X : Set) (n : ℕ) → Set
X ^ 0 = ⊥
X ^ 1 = X
X ^ 2+ n = X ^ suc n × X
注意 X⁰没有定义, 形式化为空类型 ⊥.
定义 给定集合 X,函数 f:ℕ → X 以及自然数 n,递归定义 f〈· · ·〉n:Xⁿ⁺¹ 如下
f〈· · ·〉0=f(0) f〈· · ·〉(n+1)=〈f〈· · ·〉〉n,f(n+1)〉
也就是说,f〈· · ·〉n=〈f(0),f(1),. . .,f(n)〉.∎
_⟨⋯⟩_ : {X : Set} (f : ℕ → X) (n : ℕ) → X ^ suc n
f ⟨⋯⟩ zero = f 0
f ⟨⋯⟩ (suc n) = f ⟨⋯⟩ n , f (suc n)
命题的表述
再次贴出原命题. 我们只证其中的存在性,不证唯一性.
5.11 Proposition Let X be a nonempty set and α ∈ X. For each n ∈ ℕ×,let Vₙ:Xⁿ → X be a function. Then there is a unique function f:ℕ → X with the following properties:
数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。