All Downloads are FREE. Search and download functionalities are using the official Maven repository.

models.book.chapter6.memory.fixedSizeMemory.als Maven / Gradle / Ivy

module chapter6/memory/fixedSizeMemory [Addr, Data]

sig Memory {
	data: Addr -> one Data	
	}

pred init [m: Memory] {
	// This predicate is empty in order to allow non-deterministic initialization
	}

pred write [m, m': Memory, a: Addr, d: Data] {
	m'.data = m.data ++ a -> d
	}

pred read [m: Memory, a: Addr, d: Data] {
	d = m.data [a]
	}

fact Canonicalize {
	no disj m, m': Memory | m.data = m'.data
	}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy