module TYPES_COMMON is type Access is Work, Enter, Leave with == end type type Operation is Read, Write, Fetch_and_Store, Compare_and_Swap, Read_and_Increment end type type Cached_Operation is Read_from_Local, Read_from_Remote, Read_from_Memory, Write_to_Local, Write_and_Invalidate, Write_and_Fetch, Fetch_and_Store_local, Fetch_and_Store_shared, Fetch_and_Store_global, Compare_and_Swap_local, Compare_and_Swap_shared, Compare_and_Swap_global, Read_and_Increment_local, Read_and_Increment_shared, Read_and_Increment_global end type type Tuple is Tuple (v1, v2: Nat) with get, set end type type Cache_State is Modified, Exclusive, Shared, Invalid with != end type end module