Câu hỏi bạn đang hỏi là thú vị và được biết đến. Bạn đang sử dụng cái gọi là mã hóa tạm thời của các số tự nhiên. Hãy để tôi giải thích một chút về nền tảng.
Cho một hàm tạo kiểu , chúng ta có thể quan tâm đến loại "tối thiểu" A thỏa mãn A ≅ T ( A ) . Về mặt lý thuyết phạm trù T là một functor và A là chữ T ban đầu . Ví dụ: nếu T ( X ) = 1 + X thì A tương ứng với các số tự nhiên. Nếu T ( X ) = 1 +T:Type→TypeAA≅T(A)TATT(X)=1+XA thì A là loại cây nhị phân hữu hạn.T(X)=1+X×XA
Một ý tưởng với lịch sử lâu đời là ban đầu -algebra là loại
A : = Π X : T y p e ( T ( X ) → X ) → X .
(Bạn đang sử dụng ký hiệu Agda cho các sản phẩm phụ thuộc, nhưng tôi đang sử dụng ký hiệu toán học truyền thống hơn.) Tại sao phải như vậy? Vâng, Một yếu mã hóa theo nguyên tắc đệ quy cho ban đầu T -algebra: đưa ra bất kỳ T -algebra Y với một cấu trúc cấu xạ f : T ( YT
A:=∏X:Type(T(X)→X)→X.
ATTY , chúng tôi nhận được một đại số đồng cấu
φ : Một → Y bởi
φ ( một ) = mộtf:T(Y)→Yϕ:A→Y
Vì vậy, chúng tôi thấy rằng
A là
yếuban đầu chắc chắn. Đối với nó được ban đầu chúng ta sẽ phải biết rằng
φ là duy nhất. Điều này không đúng nếu không có giả định thêm, nhưng các chi tiết mang tính kỹ thuật và khó chịu và yêu cầu đọc một số tài liệu nền. Ví dụ, nếu chúng ta có thể hiển thị một
định lý tham số thỏa đángthì chúng ta sẽ thắng, nhưng cũng có các phương pháp khác (chẳng hạn như xoa bóp định nghĩa của
A và giả sửtính mở rộng
K -axiom và hàm).
ϕ(a)=aYf.
AϕAK
T(X)=1+X
Nat=∏X:Type((1+X)→X)→X=∏X:Type(X×(X→X))→X=∏X:TypeX→(X→X)→X.
Câu trả lời tehcnical cho câu hỏi của bạn là thế này: tồn tại các mô hình lý thuyết loại trong đó loại SimpleNat
chứa các yếu tố kỳ lạ không tương ứng với chữ số, và hơn nữa, các yếu tố này phá vỡ nguyên tắc cảm ứng. Loại SimpleNat
trong các mô hình này là quá lớn và chỉ là một đại số ban đầu yếu .