Tôi chỉ mới bắt đầu chơi với idris và định lý chứng minh nói chung. Tôi có thể làm theo hầu hết các ví dụ về bằng chứng về các sự kiện cơ bản trên internet, vì vậy tôi muốn thử một cái gì đó tùy ý bằng của riêng tôi. Vì vậy, tôi muốn viết một thuật ngữ bằng chứng cho các tài sản cơ bản sau đây của bản đồ:Chứng minh id bản đồ = id trong idris?
map : (a -> b) -> List a -> List b
prf : map id = id
trực giác, tôi có thể tưởng tượng như thế nào chứng minh nên làm việc: Tham dự một danh sách l tùy ý và phân tích các khả năng đồ id l. Khi l trống rỗng, nó hiển nhiên; khi l là không trống, nó dựa trên khái niệm rằng ứng dụng chức năng giữ được sự bình đẳng. Vì vậy, tôi có thể làm một cái gì đó như thế này:
prf' : (l : List a) -> map id l = id l
Nó giống như một tuyên bố tất cả. Làm thế nào tôi có thể biến nó thành một bằng chứng về sự bình đẳng của các chức năng liên quan?
@BrianMcKenna: bạn mô tả cách chứng minh 'prf'' mà OP đã tuyên bố rằng anh ấy có thể viết. Câu hỏi của ông là về việc có thể nâng 'prf'' lên sự bình đẳng mở rộng. – Cactus