Coindtion là gì?


68

Tôi đã nghe nói về cảm ứng (cấu trúc). Nó cho phép bạn xây dựng các cấu trúc hữu hạn từ các cấu trúc nhỏ hơn và cung cấp cho bạn các nguyên tắc bằng chứng để suy luận về các cấu trúc đó. Ý tưởng là đủ rõ ràng.

Nhưng những gì về cưỡng chế? Làm thế nào nó hoạt động? Làm thế nào người ta có thể nói bất cứ điều gì kết luận về một cấu trúc vô hạn?

Có (ít nhất) hai góc để giải quyết, cụ thể, cưỡng chế như một cách xác định sự vật và như một kỹ thuật chứng minh.

Liên quan đến cưỡng chế như một kỹ thuật chứng minh, mối quan hệ giữa cưỡng chế và bisimulation là gì?


4
Tôi thực sự muốn biết câu trả lời cho điều này :)
Suresh

1
Xem thêm cs.cornell.edu/~kozen/ con /Sturationural.pdf để có bài viết hướng dẫn.
mrp

Câu trả lời:


60

Đầu tiên, để xua tan sự bất hòa về nhận thức có thể xảy ra: lý luận về các cấu trúc vô hạn không phải là vấn đề, chúng tôi làm điều đó mọi lúc. Miễn là cấu trúc có thể mô tả chính xác, đó không phải là vấn đề. Dưới đây là một vài loại cấu trúc vô hạn phổ biến:

  • ngôn ngữ (bộ chuỗi trên một số bảng chữ cái, có thể là hữu hạn);
  • ngôn ngữ cây (bộ cây trên một số bảng chữ cái);
  • dấu vết thực hiện của một hệ thống không xác định;
  • số thực;
  • bộ số nguyên;
  • bộ hàm từ số nguyên đến số nguyên; Giáo dục

Coinductivity là điểm cố định lớn nhất

Trong đó các định nghĩa quy nạp xây dựng một cấu trúc từ các khối xây dựng cơ bản, các định nghĩa cưỡng chế hình thành các cấu trúc từ cách chúng có thể được giải cấu trúc. Ví dụ: loại danh sách có các thành phần trong một tập hợp Ađược xác định như sau trong Coq:

Inductive list (A:Set) : Set :=
  | nil : list A
  | cons : A -> list A -> list A.

Một cách không chính thức, listloại này là loại nhỏ nhất chứa tất cả các giá trị được xây dựng từ nilvà các hàm constạo, với tiên đề . Ngược lại, chúng ta có thể định nghĩa loại lớn nhất chứa tất cả các giá trị được xây dựng từ các hàm tạo này, giữ nguyên tiên đề phân biệt đối xử:xy,nilconsxy

CoInductive colist (A:Set) : Set :=
  | conil : colist A
  | cocons : A -> colist A -> colist A.

listđẳng cấu với một tập hợp con của colist. Bên cạnh đó, colistcó chứa danh sách vô hạn: danh sách với coconstrên cocons.

CoFixpoint flipflop : colist ℕ := cocons 1 (cocons 2 flipflop).
CoFixpoint from (n:ℕ) : colist ℕ := cocons n (from (1 + n)).

flipfloplà vô hạn (danh sách tròn) ; là danh sách vô hạn các số tự nhiên 0 : : 1 : : 2 : : ... .1::2::1::2::from 00::1::2::

Một định nghĩa đệ quy được hình thành tốt nếu kết quả được xây dựng từ các khối nhỏ hơn: các cuộc gọi đệ quy phải hoạt động trên các đầu vào nhỏ hơn. Một định nghĩa corecursive được hình thành tốt nếu kết quả xây dựng các đối tượng lớn hơn. Cảm ứng nhìn vào các nhà xây dựng, cưỡng chế nhìn vào các hàm hủy. Lưu ý làm thế nào tính đối ngẫu không chỉ thay đổi nhỏ hơn thành lớn hơn mà cả đầu vào thành đầu ra. Ví dụ, lý do flipflopvà các fromđịnh nghĩa ở trên được hình thành rõ ràng là vì cuộc gọi corecursive được bảo vệ bởi một cuộc gọi đếncocons tạo trong cả hai trường hợp.

Trong đó các phát biểu về các đối tượng quy nạp có bằng chứng quy nạp, các phát biểu về các đối tượng cưỡng chế có bằng chứng cưỡng chế. Ví dụ: hãy xác định vị ngữ vô hạn trên colists; Theo trực giác, các colists vô hạn là những người không kết thúc conil.

CoInductive Infinite A : colist A -> Prop :=
  | Inf : forall x l, Infinite l -> Infinite (cocons x l).

Để chứng minh rằng colists của hình thức from nlà vô hạn, chúng ta có thể lý luận bằng cách cưỡng chế. from nbằng cocons n (from (1 + n)). Điều này cho thấy rằng from nlớn hơn from (1 + n), là vô hạn bởi giả thuyết cưỡng chế, do đófrom n là vô hạn.

Bisimilarity, một tài sản cưỡng chế

Coindtion như một kỹ thuật bằng chứng cũng áp dụng cho các đối tượng tài chính. Nói một cách trực giác, bằng chứng quy nạp về một đối tượng được dựa trên cách xây dựng đối tượng. Bằng chứng cưỡng chế dựa trên cách đối tượng có thể bị phân hủy.

Khi nghiên cứu các hệ thống xác định, người ta thường xác định tính tương đương thông qua quy tắc quy nạp: hai hệ thống tương đương nếu bạn có thể chuyển từ cái này sang cái kia bằng một loạt các phép biến đổi. Các định nghĩa như vậy có xu hướng không nắm bắt được nhiều cách khác nhau mà các hệ thống không xác định cuối cùng có thể có cùng một hành vi (có thể quan sát) mặc dù có cấu trúc bên trong khác nhau. (Coindtion cũng hữu ích để mô tả các hệ thống không kết thúc, ngay cả khi chúng mang tính quyết định, nhưng đây không phải là điều tôi sẽ tập trung vào đây.)

Các hệ thống không xác định như hệ thống đồng thời thường được mô hình hóa bởi các hệ thống chuyển tiếp có nhãn . Một LTS là một đồ thị có hướng trong đó các cạnh được dán nhãn. Mỗi cạnh đại diện cho một sự chuyển tiếp có thể của hệ thống. Dấu vết của LTS là chuỗi các nhãn cạnh trên một đường dẫn trong biểu đồ.

Hai LTS có thể hành xử giống hệt nhau, theo đó chúng có cùng dấu vết có thể, ngay cả khi cấu trúc bên trong của chúng khác nhau. Đồ thị đẳng cấu quá mạnh để xác định tính tương đương của chúng. Thay vào đó, một LTS được cho là mô phỏng một LTS B khác nếu mọi chuyển đổi của LTS thứ hai thừa nhận một chuyển đổi tương ứng trong lần đầu tiên. Chính thức, gọi S là sự kết hợp rời rạc của các trạng thái của hai LTS, L bộ (chung) của nhãn và quan hệ chuyển tiếp. Quan hệ R S × S là một mô phỏng nếu ( p , q ) ABSLRS×S

(p,q)R, if pαp then q,qαq and (p,q)R

mô phỏng B nếu có một mô phỏng trong đó tất cả các tiểu bang của B có liên quan đến tình trạng trong Một . Nếu R là một mô phỏng theo cả hai hướng, nó được gọi là mộtbisimulationABBAR . Mô phỏng là một thuộc tính cưỡng chế: bất kỳ quan sát nào ở một bên phải có một trận đấu ở phía bên kia.

Có khả năng có nhiều sự chia nhỏ trong một LTS. Khác biệt có thể xác định các trạng thái khác nhau. Cho hai phép chia R 2 , mối quan hệ được đưa ra bằng cách lấy sự kết hợp của các đồ thị quan hệ R 1R 2 tự nó là một phép chia đôi, vì các trạng thái liên quan làm phát sinh các trạng thái liên quan cho cả hai quan hệ. (Điều này cũng đúng với các liên hiệp vô hạn. Mối quan hệ trống rỗng là một sự chia đôi không liên tục, cũng như mối quan hệ danh tính.) Đặc biệt, sự kết hợp của tất cả các phép chia đôi chính nó là một phép chia đôi, được gọi là phép chia đôi. Bisimilarity là cách thô nhất để quan sát một hệ thống không phân biệt giữa các trạng thái riêng biệt.R1R2R1R2

Bisimilarity là một tài sản cưỡng chế. Nó có thể được định nghĩa là điểm cố định lớn nhất của toán tử: đó là mối quan hệ lớn nhất mà khi được mở rộng để xác định các trạng thái tương đương, vẫn giữ nguyên.

Người giới thiệu

  • Coq và tính toán của các công trình quy nạp

    • Yves Bertot và Pierre Castéran. Định lý tương tác Chứng minh và phát triển chương trình - Coq'Art: Tính toán của các công trình quy nạp . Springer, 2004. Ch. 13. [ trang web ] [ Amazon ]
    • Eduardo Giménez. Một ứng dụng của các loại đồng cảm ứng trong coq: xác minh giao thức bit xen kẽ . Trong Hội thảo về các loại bằng chứng và chương trình , số 1158 trong Ghi chú bài giảng Khoa học máy tính , trang 135. Springer-Verlag, 1995. [ Sách của Google ]
    • Eduardo Giménez và Pierre Castéran. Hướng dẫn về [Co-] Các loại quy nạp trong Coq. Năm 2007 [ PDF ]
  • Hệ thống chuyển tiếp được dán nhãn và chia nhỏ

    • Robin Milner. Truyền thông và đồng thời . Hội trường Prentice, 1989.
    • Davide Sangiorgi. Về nguồn gốc của sự chia đôi và cưỡng chế . Giao dịch ACM trên các ngôn ngữ và hệ thống lập trình (TOPLAS), tập 31 số 4, tháng 5 năm 2009. [ PDF ] [ ACM ] Các slide khóa học liên kết: [ PDF ] [ CiteSeer ]
    • Davide Sangiorgi. Tính toán Pi: Một lý thuyết về quy trình di động . Nhà xuất bản Đại học Cambridge, 2003. [ Amazon ]

      • Tham khảo thêm được đề xuất bởi Anton Trunov
    • Một chương trong Lập trình được chứng nhận với các loại phụ thuộc của A. Chlipala

    • D. Sangiorgi. "Giới thiệu về bẩm sinh và cưỡng chế". Năm 2011 [ PDF ]
    • D. Sangiorgi và J. Rutten. Các chủ đề nâng cao trong Bisimulation và Coindtion . Nhà xuất bản Đại học Cambridge, 2012. [ CUP ]

21

Chúng ta hãy xem xét định nghĩa quy nạp sau đây:

εTwTawTawTbawT

Tb

T={ε,a,aa,ba,aaa,aba,}=L((baa))Σ.

TT={a,b}

f:2Σ2Σ

f(T)=T{ε}{awwT}{bawawT}

Tff(2Σ,){ε}T

wawawwTTΣbbT=L((baa)ω)

fTT{ε}Σ


Ký hiệu:

  • Σ=ΣΣω
  • ΣωΣ

wTawT
{ε}


2
Tôi hy vọng một lời giải thích quy nạp là thích hợp.
Raphael

ω

ωΣ

Giải thích tốt đẹp. Tuy nhiên, tôi không hiểu câu này We can not turn the anchor around, so it goes away.
hengxin

εTεT
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.