Bổ sung 2016-10-03: Tôi đã trộn lẫn giữa quy nạp cảm ứng và đệ quy cảm ứng (không phải lần đầu tiên tôi làm điều đó!). Tôi xin lỗi vì sự lộn xộn. Tôi cập nhật câu trả lời để bao gồm cả hai.
Tôi tìm thấy những lời giải thích trong bài báo của Forsberg & Setzer Một tiên đề hữu hạn của các định nghĩa quy nạp quy nạp chiếu sáng.
Cảm ứng-đệ quy
Một định nghĩa đệ quy quy nạp là một định nghĩa trong đó chúng ta định nghĩa một loại Một và một loại B:A→Type đồng thời theo một cách đặc biệt:
- A được định nghĩa là một loại quy nạp.
- B được xác định bởi đệ quy trênA .
- Điều quan trọng, định nghĩa của A có thể sử dụng B .
Nếu không có yêu cầu thứ ba, lần đầu tiên chúng ta có thể xác định A và sau đó riêng B .
Dưới đây là một ví dụ bé. Xác định A theo quy nạp để có các hàm tạo sau:
- a:A
- ℓ:(∑x:AB(x))→A
Họ B được định nghĩa bởi
- B(a)=bool
- B(ℓ(x,f))=nat .
Aa:A.
B(a)boolℓ(a,false)
ℓ(a,true)
AB(ℓ(a,false))=B(ℓ(a,true))=natn:natℓ(ℓ(a,false),n):A
ℓ(ℓ(a,true),n):A
B(ℓ(ℓ(a,true),n))=nat
m:natℓ(ℓ(ℓ(a,true),n),m):A
ℓ(ℓ(ℓ(a,false),n),m):A
A
Cảm ứng
AB:A→Type
- A
- BA
- AB
BB(c(…))=⋯
c(…)ABB
A
- a:A
- ℓ:(∑x:AB(x))→A
B
- Tru:B(a)
- Fal:B(a)
- x:Ay:B(x)Zer:B(ℓ(x,y))
- x:Ay:B(x)z:B(ℓ(x,y))Suc(z):B(ℓ(x,y))
BB(a)B(ℓ(x,y))