Tôi muốn xác định loại danh sách của riêng mình trong một lý thuyết có tên là List
, nhưng đã có một lý thuyết với tên đó. Có lý thuyết nhẹ hơn Main
không?Có thể nhập bất kỳ lý thuyết nào vào Isabelle không?
Trả lời
Bạn không thể nhập khẩu không có gì trong Isabelle (như việc nhập khẩu là cần thiết ngay cả đối với logic cơ bản). Việc thực hiện HOL trong Isabelle có ba điểm vào được hỗ trợ: Main
, Complex_Main
(đó là Main
cộng với một số phân tích) và Plain
, nhưng chỉ có hai đầu được intendend để sử dụng thường xuyên.
Plain đã có chứa logic cơ bản, nhưng hầu như không có gì trong điều khoản của thư viện chuẩn (ví dụ không có danh sách). Nhưng cũng có những công cụ quan trọng như QuickCheck, Sledgehammer và trình tạo mã bị thiếu. Hơn nữa, nếu bạn bắt đầu từ Plain để có thể đặt tên cho danh sách lý thuyết của riêng bạn, hãy lưu ý rằng lý thuyết của bạn sẽ không tương thích với bất kỳ công trình xây dựng nào trên Main (gần như mọi thứ).
Vì vậy, trừ khi bạn có lý do thực sự tốt để làm như vậy, tôi sẽ đề nghị sau bình luận của Raphael và đưa ra lý thuyết danh sách của bạn một tên khác.
Bạn có thể nhập HOL
chỉ, như trong
theory Test_Theory
imports HOL
begin
…
end
Tôi thường làm điều đó cho thử nghiệm và điều tra về Isabelle.
Tuy nhiên, bạn sẽ thiếu định nghĩa kiểu dữ liệu và có thể cần nhập Datatype
(và thậm chí có thể là Record
) để có thể viết lý thuyết List
của bạn.
theory Test_Theory
imports HOL Datatype Record
begin
…
end
Khi cả hai Datatype
và Record
nhập khẩu HOL
, bạn có thể chỉ cần có:
theory Test_Theory
imports Datatype Record
begin
…
end
Đó không phải là dễ dàng để làm mà không có lý thuyết Main
, nhưng không phải bất khả thi. Chỉ cần nhận thức được bạn sẽ phải làm mà không có nhiều định lý được sử dụng rộng rãi, và có thể phải viết và chứng minh sở hữu của bạn.
Tôi không biết về 'FunDef', cảm ơn cho tip, sẽ có một cái nhìn vào nó. Tôi thực sự quan tâm quá là "ít bloated" cơ sở lý thuyết, ít nhất vì nó tiêu thụ rất nhiều bộ nhớ (tôi đang chạy một máy 1G RAM, đó là nhỏ cho Isabelle ... Tôi đang có kế hoạch để có được một số RAM nhiều hơn đặc biệt là cho Isabelle). Ngoài ra, một lý do khác để tìm kiếm một lý thuyết khác hơn là những gì 'Main' cung cấp, là một số lý thuyết không phù hợp cho một số loại bằng chứng. Ví dụ, tôi cảm thấy tiên đề sử dụng lý thuyết tập hợp, không tiện dụng và muốn thiết lập của riêng tôi (nếu có thể). – Hibou57
Lưu ý rằng việc nhập bất kỳ thứ gì bên dưới 'Main' HOL không được chỉ định và các hiệu ứng kỳ lạ sẽ được mong đợi. RAM 1 GB là một lý do không tốt cho việc nhập nội bộ của cách Isabelle/HOL được khởi động. – Makarius
Nó không giống với 'Pure'? (Tôi sẽ có cái nhìn, cảm ơn cho điểm). – Hibou57
Lưu ý rằng $ISABELLE_HOME/src/HOL/ex/Seq.thy
đưa ra ví dụ tối thiểu để xác định kiểu dữ liệu danh sách của riêng bạn để thử nghiệm, mà không bắt tay vào câu hỏi tinh tế cách làm việc với hệ thống bên dưới điểm nhập Main
của nó. (Người mới bắt đầu bối rối và các chuyên gia không làm điều đó.)
Về mặt lý thuyết, lý thuyết nguyên thủy nhất bạn có thể nhập là Pure
, nhưng đó chỉ là khung logic hợp lý, không có bất kỳ đối tượng logic nào như HOL. Chỉ vì tò mò, bạn có thể xem $ISABELLE_HOME/src/HOL/ex/Higher_Order_Logic.thy
bắt đầu từ Pure
và xác định phiên bản tối thiểu của H.O.L. trên đầu trang của nó, mà không có bất kỳ lý thuyết tiên tiến và các công cụ bạn mong chờ từ đầy đủ Isabelle/HOL, mặc dù.
Tham chiếu đến 'Higher_Order_Logic' rất đẹp. –
- 1. Eclipse không nhận ra bất kỳ nhập khẩu nào
- 2. Có thể nhắc người dùng nhập liệu trong bất kỳ tác vụ grunt nào không?
- 3. Có bất kỳ ngôn ngữ nào được nhập động nhưng không cho phép nhập sai?
- 4. Có thể gọi startServce() từ bất kỳ chuỗi nào không?
- 5. Có bất kỳ lý do cú miễn phí nào có thể lý do mà không tải tất cả dữ liệu vào bộ nhớ không?
- 6. jquery plugin để ngăn chặn nhập bất kỳ đầu vào nào không khớp với regexp
- 7. Thẻ biểu mẫu HTML không có thuộc tính - bất kỳ lý do nào không?
- 8. Bất kỳ giải pháp nào có thể để nắm bắt quá trình nhập cảnh/xuất cảnh?
- 9. Bất kỳ ai biết về bất kỳ ngôn ngữ kịch bản được nhập tĩnh nào?
- 10. nhấp vào nút() trên nút, tôi có thể chuyển bất kỳ thông số nào không?
- 11. Có bất kỳ ScalaConsole nào không?
- 12. Có bất kỳ ESB .NET nào không?
- 13. Có bất kỳ sách ocsigen nào không?
- 14. có thể bắt được khi bất kỳ Tác vụ nào chấm dứt ngoại lệ và đăng nhập không?
- 15. Có bất kỳ bất lợi nào đối với SEAM không?
- 16. Bất kỳ lý do gì để vẫn sử dụng CVS?
- 17. Có bất kỳ hạn chế nào với ConcurrentHashMap không?
- 18. là có bất kỳ lý do tại sao Async.Sleep không thể hủy bỏ ngay lập tức?
- 19. Có bất kỳ thông báo nào nhận được trước khi ứng dụng đã nhập vào nền không?
- 20. Làm cách nào để nhập bất kỳ ký tự Unicode nào vào văn bản tuyệt vời?
- 21. Có cách nào để truy cập tự động bất kỳ Đăng nhập vào Logcat bằng cách nhấp đúp không?
- 22. Có bất kỳ hệ thống lưu trữ tệp nguồn mở có thể mở rộng nào không?
- 23. Có bất kỳ ngôn ngữ kịch bản lệnh được nhập tĩnh nào không?
- 24. Có bất kỳ lý do nào để tải trước nội dung có thể rút từ tài nguyên không?
- 25. Có thể bất kỳ phương thức nào của .NET Parse xử lý chuỗi hex có tiền tố "0x" không?
- 26. Perl có loại mảng liên kết có thể có bất kỳ loại khóa nào không?
- 27. Bất kỳ lý do nào tại sao PresentationTraceSources.TraceLevel = Cao sẽ không in bất kỳ thông tin nào vào cửa sổ đầu ra?
- 28. Đăng nhập vào tên người dùng tại bất kỳ trang Trac wiki nào (Trac 0.11)
- 29. Có bất kỳ lựa chọn thay thế nào cho Rational Team Concert vào lúc này không?
- 30. Có bất kỳ triển khai LRU nào của IDictionary không?
FYI, trong trường hợp bạn không nhận được câu trả lời bạn đang tìm kiếm ở đây, có thể đáng giá nó cũng đặt câu hỏi trên cs.stackexchange.com hoặc cstheory.stackexchange.com ... – reuben
@reuben: Không trang web có hỗ trợ công cụ. Isabelle [tài liệu] (http://isabelle.in.tum.de/documentation.html) và [cộng đồng] (https://isabelle.in.tum.de/community) là nơi chính xác để đi. – Raphael
Lưu ý đối với người đóng: câu hỏi này là chủ đề về chủ đề trên Stack Overflow. Isabelle là một định lý lý thuyết, và đó là một loại môi trường lập trình đặc biệt ([tag: coq] và [tag: agda] là các ví dụ khác có một cộng đồng nhỏ nhưng tồn tại trên SO). Sử dụng công cụ lập trình là chủ đề trên Stack Overflow.(@Raphael Không, câu hỏi là tốt ở đây.) – Gilles