Các phép toán thay thế 54

Một phần của tài liệu Luận văn:Phương pháp kiểm chứng tính đúng đắn của một chương trình Java đa luồng thông qua sử dụng logic Hoare potx (Trang 54 - 55)

Sự thay thế cục bộ p e/ y thay thế trong khẳng định cục bộ p tất cả các sự xuất hiện của các biến khác biệt y bằng các biểu thức cục bộ e. Ta cũng áp dụng sự thay thế cho các biểu thức cục bộ. Bổ đề sau biểu diễn thuộc tính chuẩn của sự thay thế ở trên, liên kết nó với cập nhật trạng thái. Quan hệ giữa sự thay thế và cập nhật được đưa ra trong bổ đề khẳng định rằng p e/ y là điều kiện trước yếu nhất của p đối với phép gán y :e. Bổ đề được đưa ra cho các khẳng định, nhưng cùng thuộc tính đúng cho các biểu thức.

Bổ đề 5.1.1. (Sự thay thế cục bộ) Đối với các môi trường logic bất kỳ và các trạng thái thể hiện cục bộ inst, ta có

 e y p

L inst, | / ,

khi và chỉ khi ,insty   e L,inst, ,y   e L,inst, |L p

Sự kết quả của các phép gán được biểu diễn trong mức toàn cục bởi sự thay thế toàn cục PE/z.e, thay thế trong khẳng định toàn cục P các biến thể hiện x của đối tượng được tham chiếu tới bởi z bằng các biểu thức toàn cục E . Để có thể phù hợp với kết quả của các phép gán, ta phải không những thay thế theo cú pháp các xuất hiện của z.xi của các biến thể hiện, mà còn cho tất cả các bí danh của nó E'.xi, khi z và kết quả của sự thay thế được áp dụng cho E’ tham chiếu tới cùng đối tượng. Bởi vì điều kiện định danh không thể được kiểm tra theo cú pháp, ta định nghĩa trường hợp chính của sự thay thế bằng một biểu thức điều kiện

Sự thay thế này được mở rộng cho các khẳng định toàn cục. Ta sử dụng sự thay thế PE/z.x cho dãy các biến bất kỳ y có thể chứa các biến logic, mà các ngữ nghĩa của chúng được định nghĩa bởi sự thay thế đồng thời Ex/z.x và  Eu/u, trong đó x

u là các dãy của các biến thể hiện và logic của y, các dãy con tương ứng Ex

u

E của E và Eu/u là sự thay thế như trong thay thế cục bộ; nếu chỉ các biến logic được thay thế, ta viết đơn giản P E/u .

Bổ đề 5.1.2. (Thay thế toàn cục) Đối với các trạng thái toàn cục bất kỳ và các môi trường logic chỉ tham chiếu tới các giá trị đang tồn tại trong ta có

E z yP G / . | , khi và chỉ khi ','|G P, trong đó      ' yE G , và         ' z G , .yE G ,

Một phần của tài liệu Luận văn:Phương pháp kiểm chứng tính đúng đắn của một chương trình Java đa luồng thông qua sử dụng logic Hoare potx (Trang 54 - 55)