2013-07-02 67 views
25

Tôi muốn có một loại quy nạp để mô tả hoán vị và hành động của chúng trên một số vật chứa. Rõ ràng là tùy thuộc vào mô tả loại này độ phức tạp của định nghĩa (về độ dài của nó) của thuật toán (thành phần tính toán hoặc nghịch đảo, phân hủy thành các chu kỳ rời rạc, vv) sẽ khác nhau.Trên đại diện của hoán vị

Hãy xem xét định nghĩa sau trong Coq. Tôi tin rằng nó được chính thức hoá mã Lehmer:

Inductive Permutation : nat -> Set := 
| nil : Permutation 0 
| cons : forall (n k : nat), Permutation (k + n) -> Permutation (k + S n). 

Nó rất dễ dàng để xác định hành động của nó đối với vectơ kích thước n, hơi khó vào container khác và (ít nhất là đối với tôi) khó có thể tìm ra chính thức hóa thành phần hoặc nghịch đảo.

Hoặc chúng ta có thể biểu diễn hoán vị như một bản đồ hữu hạn với các thuộc tính. Thành phần hoặc nghịch đảo có thể dễ dàng xác định nhưng phân hủy nó thành các chu kỳ rời nhau là khó khăn.

Vì vậy, câu hỏi của tôi là: có bất kỳ giấy tờ nào giải quyết vấn đề thương mại này không? Tất cả các công trình, mà tôi đã tìm thấy, đối phó với độ phức tạp tính toán trong các thiết lập bắt buộc, trong khi tôi quan tâm đến "sự phức tạp về lý luận" và lập trình hàm.

+2

Tôi không biết gì về Coq, nhưng việc này có giúp ích gì không? http://coq.inria.fr/stdlib/Coq.Sorting.Permutation.html –

+0

Thật không may, nó không. Những gì tôi muốn là mã hóa hoán vị mà không cần tham chiếu đến một container. Mặc dù nó sẽ là dễ chịu để có một định nghĩa container-chung của mối quan hệ tương tự như một trong những đề cập. –

+1

Có lẽ bạn có thể chuyên nó để nó permutes một danh sách được sắp xếp các chỉ số? –

Trả lời

4

Georges Gonthier đã nghiên cứu rộng rãi hoán vị cho các bằng chứng của ông về cả định lý 4 màu và định lý Feit-Thompson. Gói ssreflect của ông cho coq tạo điều kiện lý luận về hoán vị, đặc biệt là trên bộ hữu hạn, bằng cách sử dụng tính toán trong Coq hơn là sử dụng chiến thuật. Thư viện seq của anh ta là điểm vào.

http://ssr2.msr-inria.inria.fr/doc/ssreflect-1.4/Ssreflect.seq.html

Bạn có thể nhận toàn bộ nguồn tại đây.

http://research.microsoft.com/en-us/downloads/5464E7B1-BD58-4F7C-BFE1-5D3B32D42E6D/default.aspx

Cuối cùng,

http://comments.gmane.org/gmane.science.mathematics.logic.coq.club/4193

thảo luận về 3 đại diện của hoán vị.