Tôi còn khá mới với lý thuyết loại và lập trình phụ thuộc. Tôi đã nghiên cứu tính toán các công trình xây dựng (CoC) và các hệ thống loại thuần túy khác. Tôi đặc biệt quan tâm đến việc sử dụng nó như một đại diện trung gian bảo toàn bằng chứng cho một hệ thống biên dịch.
Tôi hiểu rằng các kiểu đệ quy (co-) có thể biểu diễn , tính toán , sử dụng làm hàm tạo kiểu duy nhất. Tuy nhiên, tôi đã đọc rằng chúng không thể được sử dụng để xây dựng bằng chứng bằng cảm ứng (tha thứ cho tôi, tôi không thể tìm thấy ở đâu bây giờ!), Ví dụ, tôi không thể chứng minh rằng trong CoC đơn giản (mặc dù có thể đánh máy là ).0 ≠ 1 Nat Π ( N : * ) . Π ( S : N → N ) . Π ( Z : N ) . N
Tôi cho rằng đây là lý do tại sao họ xây dựng tính toán của các công trình quy nạp (CIC). Điều này có đúng không? Nhưng tại sao? Tôi không thể tìm thấy bất kỳ tài liệu nào giải thích lý do tại sao các bằng chứng đó không thể được trình bày mà không sử dụng các loại quy nạp (đồng) làm nguyên thủy. Nếu điều này không đúng, thì tại sao lại thêm chúng làm nguyên thủy trong CIC?