Mỗi luật cho ta một quy tắc suy luận để đi đến các sự kiện mới từ các sự kiện nào đó và về mặt cấu trúc mỗi luật r có thể được mô hình dưới dạng sau:
Các loại sự kiện bao gồm:
+ (1) Sự kiện thông tin về loại của một đối tượng. Ví dụ: [Ob1, “TAM_GIAC”] hay [Ob2, “TAM_GIAC[A,B,C]”].
+ (2) Sự kiện về tính xác định của một đối tượng hay của một thuộc tính: <object>.<thuoc_tinh>.
Ví dụ: Obj, Obj.a, Obj.DOAN[A,B].
+ (3) Sự kiện về sự xác định của các một thuộc tính hay một đối tượng thông qua một biểu thức hằng. Ta viết: <object> = <bieu_thuc_hang>, hay <object>.<thuộc tính> = <bieu_thuc_hang>.
Ví dụ: Obj.a = 5, DOAN[A,B] = m, GOC[A,B,C] = /3.
+ (4) Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính với các đối tượng hay một thuộc tính khác. Sự kiện loại nầy sẽ được viết dưới dạng:
<bject> | <object>.<thuoc_tinh> = <bject> | <object>.<thuoc_tinh> Ví dụ: Ob1.a = Ob2.a, Ob1.a = DOAN[C,D], Ob1 = Ob2.
+ (5) Sự kiện về sự phụ thuộc của một đối tượng hay của một thuộc tính theo những đối tượng hay các thuộc tính khác thông qua một công thức tính toán. Loại sự kiện nầy có dạng:
<object> | <object>.<thuoc_tinh> = <bieu thuc theo cac object hay thuoc tinh khac>.
Ví dụ: O1.a = O2.a + 2*O2.b
+ (6) Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc tính của các đối tượng. Sự kiện loại nầy có thể được biểu diễn bởi cấu trúc danh sách có dạng:
Ví dụ: [“SSONG”, DOAN[A,B], DOAN[C,D]], [“THUOC”, M, DOAN[B,C]],
[“VUONG”, Ob1.a, Ob2.b].
+ (7) Sự kiện về tính xác định của một hàm.
+ (8) Sự kiện về tính xác định của một hàm thông qua một biểu thức hằng. + (9) Sự kiện về sự bằng nhau giữa một đối tượng với một hàm.
+ (10) Sự kiện về sự bằng nhau của một hàm với một hàm khác.
+ (11) Sự kiện về sự phụ thuộc của một hàm theo các hàm hay các đối tượng khác thông qua một công thức tính toán.